upd 个人中心页面
This commit is contained in:
168
openhis-miniapp/pages/healthCard/healthCard.vue
Normal file
168
openhis-miniapp/pages/healthCard/healthCard.vue
Normal file
@@ -0,0 +1,168 @@
|
||||
<template>
|
||||
<view class="service-page">
|
||||
<!-- 顶部功能入口 -->
|
||||
<view class="top-section">
|
||||
<view class="top-item" @click="navigateTo('my-doctor')">
|
||||
<image src="/static/icons/doctor.png" mode="aspectFit"></image>
|
||||
<text>我的医生</text>
|
||||
</view>
|
||||
<view class="top-item" @click="navigateTo('online-consult')">
|
||||
<image src="/static/icons/online.png" mode="aspectFit"></image>
|
||||
<text>一键在线复诊</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 会员中心 -->
|
||||
<view class="vip-section" @click="navigateTo('vip-center')">
|
||||
<image src="/static/icons/vip.png" mode="aspectFit"></image>
|
||||
<text>会员中心 · 精选权益超值享</text>
|
||||
</view>
|
||||
|
||||
<!-- 服务与工具网格 -->
|
||||
<view class="service-grid">
|
||||
<view
|
||||
class="grid-item"
|
||||
v-for="(item, index) in serviceList"
|
||||
:key="index"
|
||||
@click="handleServiceClick(item)"
|
||||
>
|
||||
<image :src="item.icon" mode="aspectFit"></image>
|
||||
<text>{{ item.title }}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 商务合作 -->
|
||||
<view class="cooperation" @click="navigateTo('business')">
|
||||
<text>商务合作</text>
|
||||
<image src="/static/icons/arrow-right.png" mode="aspectFit"></image>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref } from 'vue';
|
||||
|
||||
// 服务列表数据
|
||||
const serviceList = ref([
|
||||
{ id: 1, title: '收藏', icon: '/static/icons/collect.png', type: 'collect' },
|
||||
{ id: 2, title: '我的医生', icon: '/static/icons/doctor.png', type: 'my-doctor' },
|
||||
{ id: 3, title: '随访计划', icon: '/static/icons/follow-up.png', type: 'follow-plan' },
|
||||
{ id: 4, title: '客服中心', icon: '/static/icons/service.png', type: 'customer-service' }
|
||||
]);
|
||||
|
||||
// 处理服务点击
|
||||
const handleServiceClick = (item) => {
|
||||
switch(item.type) {
|
||||
case 'customer-service':
|
||||
uni.makePhoneCall({ phoneNumber: '400-123-4567' });
|
||||
break;
|
||||
default:
|
||||
navigateTo(item.type);
|
||||
}
|
||||
};
|
||||
|
||||
// 通用跳转方法
|
||||
const navigateTo = (path) => {
|
||||
uni.navigateTo({ url: `/pages/${path}/${path}` });
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.service-page {
|
||||
padding: 20rpx;
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
|
||||
.top-section {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin: 20rpx 0;
|
||||
padding: 30rpx;
|
||||
background-color: #fff;
|
||||
border-radius: 16rpx;
|
||||
|
||||
.top-item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
width: 45%;
|
||||
|
||||
image {
|
||||
width: 100rpx;
|
||||
height: 100rpx;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
|
||||
text {
|
||||
font-size: 28rpx;
|
||||
color: #333;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.vip-section {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 30rpx;
|
||||
margin: 20rpx 0;
|
||||
background-color: #fff;
|
||||
border-radius: 16rpx;
|
||||
|
||||
image {
|
||||
width: 60rpx;
|
||||
height: 60rpx;
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
|
||||
text {
|
||||
font-size: 28rpx;
|
||||
color: #ff9900;
|
||||
}
|
||||
}
|
||||
|
||||
.service-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
gap: 20rpx;
|
||||
padding: 30rpx;
|
||||
background-color: #fff;
|
||||
border-radius: 16rpx;
|
||||
|
||||
.grid-item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
image {
|
||||
width: 80rpx;
|
||||
height: 80rpx;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
|
||||
text {
|
||||
font-size: 24rpx;
|
||||
color: #666;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.cooperation {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 30rpx;
|
||||
margin-top: 20rpx;
|
||||
background-color: #fff;
|
||||
border-radius: 16rpx;
|
||||
|
||||
text {
|
||||
font-size: 28rpx;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
image {
|
||||
width: 32rpx;
|
||||
height: 32rpx;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
64
openhis-miniapp/pages/home.vue
Normal file
64
openhis-miniapp/pages/home.vue
Normal file
@@ -0,0 +1,64 @@
|
||||
<template>
|
||||
<view class="content">
|
||||
<!-- <image class="logo" src="/static/logo.png"></image>
|
||||
<view class="text-area">
|
||||
<text class="title">{{title}}</text>
|
||||
</view> -->
|
||||
<view :style="{visibility: showSkeleton ? 'hidden' : 'visible'}">
|
||||
<!-- 导航 -->
|
||||
<home-navi @goLogin="openAuto"></home-navi>
|
||||
<!-- 轮播 -->
|
||||
<home-swiper :dataList="dataBanner"></home-swiper>
|
||||
<!-- 菜单 -->
|
||||
<home-menus :dataList="dataMenus" @goLogin="openAuto"></home-menus>
|
||||
<!-- 健康科普 -->
|
||||
<home-article :dataList="dataArticle" @goLogin="openAuto"></home-article>
|
||||
<!-- 视频课堂 -->
|
||||
<home-video :dataList="dataVideo" @goLogin="openAuto"></home-video>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
title: '1111'
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
|
||||
},
|
||||
methods: {
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.logo {
|
||||
height: 200rpx;
|
||||
width: 200rpx;
|
||||
margin-top: 200rpx;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
margin-bottom: 50rpx;
|
||||
}
|
||||
|
||||
.text-area {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 36rpx;
|
||||
color: #8f8f94;
|
||||
}
|
||||
</style>
|
||||
@@ -1,52 +1,318 @@
|
||||
<template>
|
||||
<view class="content">
|
||||
<image class="logo" src="/static/logo.png"></image>
|
||||
<view class="text-area">
|
||||
<text class="title">{{title}}</text>
|
||||
<view class="container">
|
||||
<!-- 轮播图 -->
|
||||
<swiper class="swiper-container" autoplay circular indicator-dots>
|
||||
<swiper-item v-for="(item, index) in swiperList" :key="index">
|
||||
<image :src="item.image" mode="aspectFill" class="swiper-image"></image>
|
||||
</swiper-item>
|
||||
</swiper>
|
||||
<!-- 用户信息栏 -->
|
||||
<!-- <view class="user-card">
|
||||
<view class="user-info">
|
||||
<view class="user-info-left">
|
||||
<image class="avatar" src="/static/images/user.png"></image>
|
||||
</view>
|
||||
<text class="name">{{ currentPatient.name }}</text>
|
||||
<text class="switch" @click="switchPatient">切换就诊人 ></text>
|
||||
</view>
|
||||
<text class="patient-id">就诊号:{{ currentPatient.id }}</text>
|
||||
</view> -->
|
||||
<view class="user-card">
|
||||
<view class="user-info-left">
|
||||
<image class="avatar" src="/static/images/user.png"></image>
|
||||
<text class="name">{{ currentPatient.name }}</text>
|
||||
<text class="switch-patient" @click="switchPatient">切换就诊人 ></text>
|
||||
</view>
|
||||
<text class="patient-id">就诊号:{{ currentPatient.id }}</text>
|
||||
</view>
|
||||
|
||||
<!-- 功能宫格区域 -->
|
||||
<scroll-view scroll-y class="main-content">
|
||||
<view class="grid-container">
|
||||
<view class="section-title">医院服务</view>
|
||||
<view class="grid-row">
|
||||
<view v-for="(item, index) in firstRow" :key="index" class="grid-item"
|
||||
@click="handleFunction(item)">
|
||||
<image class="icon" :src="item.icon" mode="aspectFit" />
|
||||
<text class="label">{{ item.label }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="grid-row">
|
||||
<view v-for="(item, index) in secondRow" :key="index" class="grid-item"
|
||||
@click="handleFunction(item)">
|
||||
<image class="icon" :src="item.icon" mode="aspectFit" />
|
||||
<text class="label">{{ item.label }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="section">
|
||||
<view class="service-grid">
|
||||
<view v-for="(item, index) in hospitalServices" :key="index" class="service-item">
|
||||
<text>{{ item }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
<script setup>
|
||||
import {
|
||||
ref,
|
||||
reactive
|
||||
} from 'vue';
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
title: 'Hello666'
|
||||
}
|
||||
// 轮播图数据
|
||||
const swiperList = ref([{
|
||||
image: '/static/shouye/lunbotu1.png'
|
||||
},
|
||||
onLoad() {
|
||||
|
||||
{
|
||||
image: '/static/shouye/lunbotu2.png'
|
||||
},
|
||||
methods: {
|
||||
|
||||
{
|
||||
image: '/static/shouye/lunbotu1.png'
|
||||
}
|
||||
}
|
||||
</script>
|
||||
]);
|
||||
// 当前就诊人信息
|
||||
const currentPatient = reactive({
|
||||
name: '张三',
|
||||
id: '123456'
|
||||
});
|
||||
|
||||
<style>
|
||||
.content {
|
||||
|
||||
// 功能配置(示例数据)
|
||||
const firstRow = ref([{
|
||||
label: '健康码',
|
||||
icon: '/static/icons/health-code.png',
|
||||
path: '/pages/health-code'
|
||||
},
|
||||
{
|
||||
label: '预约挂号',
|
||||
icon: '/static/icons/appointment.png',
|
||||
path: '/pages/appointment'
|
||||
},
|
||||
{
|
||||
label: '当日挂号',
|
||||
icon: '/static/icons/today-reg.png',
|
||||
path: '/pages/today-reg'
|
||||
},
|
||||
{
|
||||
label: '门诊缴费',
|
||||
icon: '/static/icons/payment.png',
|
||||
path: '/pages/payment'
|
||||
}
|
||||
]);
|
||||
|
||||
const secondRow = ref([{
|
||||
label: '查看报告',
|
||||
icon: '/static/icons/report.png',
|
||||
path: '/pages/report'
|
||||
},
|
||||
{
|
||||
label: '就诊记录',
|
||||
icon: '/static/icons/record.png',
|
||||
path: '/pages/records'
|
||||
},
|
||||
{
|
||||
label: '科室查询',
|
||||
icon: '/static/icons/department.png',
|
||||
path: '/pages/department'
|
||||
},
|
||||
{
|
||||
label: '医生查询',
|
||||
icon: '/static/icons/doctor.png',
|
||||
path: '/pages/doctor'
|
||||
}
|
||||
]);
|
||||
|
||||
// 医院服务
|
||||
const hospitalServices = ref([
|
||||
'医院介绍',
|
||||
'国粹中医',
|
||||
'惠民政策',
|
||||
'特色疗法'
|
||||
]);
|
||||
|
||||
// 底部导航
|
||||
const tabItems = ref([{
|
||||
text: '首页',
|
||||
icon: '/static/tabs/home.png',
|
||||
selectedIcon: '/static/tabs/home-active.png'
|
||||
},
|
||||
{
|
||||
text: '健康卡',
|
||||
icon: '/static/tabs/health-card.png',
|
||||
selectedIcon: '/static/tabs/health-card-active.png'
|
||||
},
|
||||
{
|
||||
text: '个人中心',
|
||||
icon: '/static/tabs/profile.png',
|
||||
selectedIcon: '/static/tabs/profile-active.png'
|
||||
}
|
||||
]);
|
||||
|
||||
const activeTab = ref(0);
|
||||
|
||||
// 切换就诊人
|
||||
const switchPatient = () => {
|
||||
uni.navigateTo({
|
||||
url: '/pages/patient/switch'
|
||||
});
|
||||
};
|
||||
|
||||
// 处理功能点击
|
||||
const handleFunction = (item) => {
|
||||
if (item.path) {
|
||||
uni.navigateTo({
|
||||
url: item.path
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
// 切换底部导航
|
||||
const switchTab = (index) => {
|
||||
activeTab.value = index;
|
||||
// 实际项目应使用路由跳转
|
||||
};
|
||||
</script>
|
||||
<style scoped>
|
||||
.swiper-container {
|
||||
width: 100%;
|
||||
height: 300rpx;
|
||||
}
|
||||
|
||||
.swiper-image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
border-radius: 15rpx;
|
||||
}
|
||||
|
||||
.container {
|
||||
height: 100vh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.user-card {
|
||||
/* background: linear-gradient(135deg, #6eb4ff, #007aff); */
|
||||
padding: 30rpx;
|
||||
color: black;
|
||||
}
|
||||
|
||||
.user-info {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding-bottom: 20rpx;
|
||||
}
|
||||
|
||||
.name {
|
||||
font-size: 36rpx;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.switch {
|
||||
padding-left: 10rpx;
|
||||
font-size: 28rpx;
|
||||
/* text-decoration: underline; */
|
||||
}
|
||||
|
||||
.patient-id {
|
||||
font-size: 28rpx;
|
||||
}
|
||||
|
||||
.main-content {
|
||||
flex: 1;
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
|
||||
.grid-container {
|
||||
padding-top: 1vh;
|
||||
}
|
||||
|
||||
.grid-row {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 1vh;
|
||||
}
|
||||
|
||||
.grid-item {
|
||||
width: 23%;
|
||||
background: white;
|
||||
border-radius: 16rpx;
|
||||
padding: 20rpx;
|
||||
text-align: center;
|
||||
box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.icon {
|
||||
width: 80rpx;
|
||||
height: 80rpx;
|
||||
margin-bottom: 15rpx;
|
||||
}
|
||||
|
||||
.label {
|
||||
font-size: 24rpx;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.section {
|
||||
background: white;
|
||||
margin: 20rpx;
|
||||
border-radius: 16rpx;
|
||||
padding: 30rpx;
|
||||
}
|
||||
|
||||
.section-title {
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
margin-bottom: 30rpx;
|
||||
}
|
||||
|
||||
.service-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 20rpx;
|
||||
}
|
||||
|
||||
.service-item {
|
||||
background: #f8f8f8;
|
||||
padding: 30rpx;
|
||||
border-radius: 12rpx;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.tabbar {
|
||||
height: 100rpx;
|
||||
background: white;
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
align-items: center;
|
||||
box-shadow: 0 -4rpx 12rpx rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
|
||||
.tab-item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.logo {
|
||||
height: 200rpx;
|
||||
width: 200rpx;
|
||||
margin-top: 200rpx;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
margin-bottom: 50rpx;
|
||||
.tab-icon {
|
||||
width: 48rpx;
|
||||
height: 48rpx;
|
||||
margin-bottom: 8rpx;
|
||||
}
|
||||
|
||||
.text-area {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
.active {
|
||||
color: #007aff;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 36rpx;
|
||||
color: #8f8f94;
|
||||
.avatar {
|
||||
width: 120rpx;
|
||||
height: 120rpx;
|
||||
border-radius: 50%;
|
||||
margin-right: 30rpx;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
43
openhis-miniapp/pages/personInfo/ServiceRecordItem.vue
Normal file
43
openhis-miniapp/pages/personInfo/ServiceRecordItem.vue
Normal file
@@ -0,0 +1,43 @@
|
||||
<template>
|
||||
<view class="service-item" @click="handleClick">
|
||||
<image :src="icon" class="icon" />
|
||||
<text class="title">{{ title }}</text>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props: {
|
||||
icon: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
title: {
|
||||
type: String,
|
||||
required: true
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleClick() {
|
||||
this.$emit('click');
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.service-item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
.icon {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
}
|
||||
.title {
|
||||
margin-top: 5px;
|
||||
font-size: 14px;
|
||||
}
|
||||
</style>
|
||||
233
openhis-miniapp/pages/personInfo/personInfo.vue
Normal file
233
openhis-miniapp/pages/personInfo/personInfo.vue
Normal file
@@ -0,0 +1,233 @@
|
||||
<template>
|
||||
<view class="container">
|
||||
<!-- 用户信息区域 -->
|
||||
<view class="user-info">
|
||||
<view class="avatar-section">
|
||||
<view class="user-info-left">
|
||||
<image class="avatar" src="/static/images/user.png"></image>
|
||||
</view>
|
||||
<view class="user-info-right">
|
||||
<view class="name-section">
|
||||
<view>
|
||||
<text class="name">{{ currentPatient.name }}</text>
|
||||
<text class="switch-patient" @click="switchPatient">切换就诊人></text>
|
||||
</view>
|
||||
<view class="patient-id">
|
||||
<text>就诊号:{{ currentPatient.id }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 顶部功能入口 -->
|
||||
<view class="top-section">
|
||||
<view class="top-item" @click="navigateTo('my-doctor')">
|
||||
<uni-icons custom-prefix="iconfont" type="my-jiaofeijilu" size="30"></uni-icons>
|
||||
<text>缴费记录</text>
|
||||
</view>
|
||||
<view class="top-item" @click="navigateTo('my-doctor')">
|
||||
<uni-icons custom-prefix="iconfont" type="my-guahaojilu" size="30"></uni-icons>
|
||||
<text>挂号记录</text>
|
||||
</view>
|
||||
<view class="top-item" @click="navigateTo('my-doctor')">
|
||||
<uni-icons custom-prefix="iconfont" type="my-jiuzhenjilu" size="30"></uni-icons>
|
||||
<text>就诊记录</text>
|
||||
</view>
|
||||
<view class="top-item" @click="navigateTo('online-consult')">
|
||||
<uni-icons custom-prefix="iconfont" type="my-wodebaogao" size="30"></uni-icons>
|
||||
<text>我的报告</text>
|
||||
</view>
|
||||
<view class="top-item" @click="navigateTo('my-doctor')">
|
||||
<uni-icons custom-prefix="iconfont" type="my-jiuzhenrenguanli" size="30"></uni-icons>
|
||||
<text>就诊人管理</text>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 功能列表 -->
|
||||
<view class="menu-list">
|
||||
<navigator v-for="(item, index) in menus" :key="index" class="menu-item" :url="item.url">
|
||||
<text>{{ item.label }}</text>
|
||||
</navigator>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
<script setup>
|
||||
import {
|
||||
ref,
|
||||
reactive
|
||||
} from 'vue';
|
||||
import {
|
||||
onLoad
|
||||
} from '@dcloudio/uni-app';
|
||||
|
||||
// 用户信息
|
||||
const userInfo = reactive({
|
||||
avatar: ''
|
||||
});
|
||||
|
||||
// 当前就诊人信息
|
||||
const currentPatient = ref({
|
||||
name: '张三',
|
||||
id: '123456'
|
||||
});
|
||||
|
||||
// 菜单配置
|
||||
const menus = ref([{
|
||||
label: '缴费记录',
|
||||
url: '/pages/records/payment'
|
||||
},
|
||||
{
|
||||
label: '挂号记录',
|
||||
url: '/pages/records/registration'
|
||||
},
|
||||
{
|
||||
label: '就诊记录',
|
||||
url: '/pages/records/medical'
|
||||
},
|
||||
{
|
||||
label: '我的报告',
|
||||
url: '/pages/records/report'
|
||||
},
|
||||
{
|
||||
label: '就诊人管理',
|
||||
url: '/pages/patient/manage'
|
||||
}
|
||||
]);
|
||||
|
||||
// 处理头像点击
|
||||
const handleAvatarClick = () => {
|
||||
uni.chooseImage({
|
||||
count: 1,
|
||||
success: (res) => {
|
||||
userInfo.avatar = res.tempFilePaths[0];
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 切换就诊人
|
||||
const switchPatient = () => {
|
||||
uni.navigateTo({
|
||||
url: '/pages/patient/select'
|
||||
});
|
||||
};
|
||||
|
||||
// 初始化数据
|
||||
onLoad(() => {
|
||||
// 这里可以添加请求用户数据的逻辑
|
||||
});
|
||||
</script>
|
||||
|
||||
<style scoped lang='scss'>
|
||||
.container {
|
||||
background-color: #f5f5f5;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
/* 设置整个用户信息区域 */
|
||||
.user-info {
|
||||
background-color: #fff;
|
||||
padding-top: 20rpx;
|
||||
padding-left: 20rpx;
|
||||
padding-right: 20rpx;
|
||||
display: flex;
|
||||
/* 启用Flex布局 */
|
||||
justify-content: space-between;
|
||||
/* 在水平上分配空间 */
|
||||
align-items: center;
|
||||
/* 垂直方向居中对齐 */
|
||||
}
|
||||
|
||||
/* 名字和切换按钮布局 */
|
||||
.name-section {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
/* 名字布局 */
|
||||
.name {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* 选择就诊人布局 */
|
||||
.switch-patient {
|
||||
border: #007aff;
|
||||
color: #007aff;
|
||||
padding-left: 10px;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
|
||||
/* 就诊号 */
|
||||
.patient-id {
|
||||
font-size: 26rpx;
|
||||
color: #666;
|
||||
padding-top: 10rpx;
|
||||
}
|
||||
|
||||
.avatar-section {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 20rpx;
|
||||
|
||||
/* 左侧区域 */
|
||||
.user-info-left {
|
||||
display: flex;
|
||||
/* 启用Flex布局 */
|
||||
align-items: center;
|
||||
/* 垂直方向居中 */
|
||||
}
|
||||
|
||||
/* 右侧区域 */
|
||||
.user-info-right {
|
||||
display: flex;
|
||||
/* 启用Flex布局 */
|
||||
align-items: center;
|
||||
/* 垂直方向居中 */
|
||||
}
|
||||
}
|
||||
|
||||
.avatar {
|
||||
width: 120rpx;
|
||||
height: 120rpx;
|
||||
border-radius: 50%;
|
||||
margin-right: 30rpx;
|
||||
}
|
||||
|
||||
.menu-list {
|
||||
margin-top: 20rpx;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
/* .menu-item {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 30rpx;
|
||||
border-bottom: 2rpx solid #eee;
|
||||
} */
|
||||
.top-section {
|
||||
display: flex;
|
||||
margin: 20rpx 0;
|
||||
padding: 30rpx;
|
||||
background-color: #fff;
|
||||
border-radius: 16rpx;
|
||||
|
||||
.top-item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
width: 45%;
|
||||
font-size: 25 rpx;
|
||||
|
||||
.image {
|
||||
width: 100rpx;
|
||||
height: 100rpx;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
|
||||
.text {
|
||||
/* font-size: 20rpx ; */
|
||||
color: #333;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user