ソースを参照

Signed-off-by: 李妹妹 <1639016684@qq.com>

李妹妹 1 ヶ月 前
コミット
71c91c558c

+ 9 - 0
components/pushangyuqi-calendar/pushangyuqi-calendar.vue

@@ -139,6 +139,7 @@ import config from '../../uni_modules/uview-ui/libs/config/config';
 				var y = date.getFullYear();
 				var m = date.getMonth() + 1;
 				var d = date.getDate();
+				var w = date.getDay();
 				var i = 0,
 					j = 0;
 				for (i; i < 3; i++) {
@@ -155,6 +156,10 @@ import config from '../../uni_modules/uview-ui/libs/config/config';
 							cache[2] = '#008FD3'; // 当前日期背景颜色
 							cache[0] = '#fff'; // 当前日期文字颜色
 						}
+						if(w==0||w==6){
+							console.log(w,'w')
+							cache[0] = '#FF7700';
+						}
 						if (this.date <= premaxday) {
 							cache[1] = this.date++;
 						} else {
@@ -173,6 +178,9 @@ import config from '../../uni_modules/uview-ui/libs/config/config';
 							cache[2] = '#008FD3'
 							cache[0] = '#fff'; // 当前日期文字颜色
 						}
+						if(w==0||w==6){
+							cache[0] = '#FF7700';
+						}
 						if (this.date <= maxday) {
 							cache[1] = this.date++;
 						} else {
@@ -186,6 +194,7 @@ import config from '../../uni_modules/uview-ui/libs/config/config';
 						
 					}
 				}
+				console.log(this.dates,'array')
 			},
 
 			//计算当月的天数和上个月的天数

+ 39 - 0
pages.json

@@ -1395,6 +1395,26 @@
 						}
 					}
 				},
+				{
+					"path": "waistLineList",
+					"style": {
+						"navigationBarTitleText": "腰围数据",
+						"enablePullDownRefresh": false,
+						"app-plus": {
+							"titleNView": false
+						}
+					}
+				},
+				{
+					"path": "waistLineDetail",
+					"style": {
+						"navigationBarTitleText": "腰围详情",
+						"enablePullDownRefresh": false,
+						"app-plus": {
+							"titleNView": false
+						}
+					}
+				},
 				{
 					"path": "hips",
 					"style": {
@@ -1405,6 +1425,25 @@
 							"titleNView": false
 						}
 					}
+				},{
+					"path": "hipsList",
+					"style": {
+						"navigationBarTitleText": "臀围数据",
+						"enablePullDownRefresh": false,
+						"app-plus": {
+							"titleNView": false
+						}
+					}
+				},
+				{
+					"path": "hipsDetail",
+					"style": {
+						"navigationBarTitleText": "臀围详情",
+						"enablePullDownRefresh": false,
+						"app-plus": {
+							"titleNView": false
+						}
+					}
 				}
 			]
 		}

+ 2 - 2
pages_company/clientDetail.vue

@@ -44,7 +44,7 @@
 			<view class="used-tools2">
 				<view class="title">管理</view>
 				<view class="tools-list">
-					<view class="item" @click="navgetTo('/pages_user/user/userTui')">
+					<view class="item" @click="navgetTo('/pages_health/doc')">
 						<image src="../static/images/company/health_records_icon.png" mode=""></image>
 						<text class="text">健康档案</text>
 					</view>
@@ -60,7 +60,7 @@
 						<image src="../static/images/company/return_records_icon.png" mode=""></image>
 						<text class="text">回访记录</text>
 					</view>
-					<view class="item" @click="navgetTo('')">
+					<view class="item" @click="navgetTo('/pages_health/buyOrder')">
 						<image src="../static/images/company/consumables_mall_icon.png" mode=""></image>
 						<text class="text">购买信息</text>
 					</view>

+ 1 - 1
pages_company/todoList.vue

@@ -26,7 +26,7 @@
 				</view>
 			</view>
 		</view>
-			<u-popup :show="isShow" mode="top" :round="12"  customStyle="top: 110rpx;">
+			<u-popup :show="isShow" mode="top" :round="12"  customStyle="top: 110rpx;" @click="c">
 				<view class="calendar-box">
 			           <pushangyuqi-calendar @onDayClick="onDayClick"></pushangyuqi-calendar>
 				</view>

+ 42 - 1
pages_echarts/acid.vue

@@ -16,6 +16,17 @@
 				<view class="charts-box">
 					<qiun-data-charts type="column" :opts="opts" :chartData="chartData" />
 				</view>
+				<view class="legend">
+					<view class="legend-item">
+						<view class="legend-dot" style="background-color: #52D087;"></view><text>150-416μmol/L</text>
+					</view>
+					<view class="legend-item">
+						<view class="legend-dot" style="background-color: #FDBD27;"></view><text>{{'<'}}150μmol/L</text>
+					</view>
+					<view class="legend-item">
+						<view class="legend-dot" style="background-color: #FF5030;"></view><text>{{'>'}}416μmol/L</text>
+					</view>
+				</view>
 			</view>
 			<view class="content-box">
 				<view class="align-center justify-between">
@@ -24,6 +35,7 @@
 						<text>查看更多</text>
 						<image class="w48 h48" src="/static/images/health/right_arrow_right_icon24.png"></image>
 					</view>
+					
 				</view>
 				<view class="type-box">
 					<view class="box bg3">
@@ -77,6 +89,8 @@
 		},
 		data() {
 			return {
+				loading: false,
+				isEmpty: false,
 				statusBarHeight: '',
 				top: 0,
 				aIndex: 0,
@@ -307,7 +321,7 @@
 	}
 
 	.content {
-		padding-top: calc(var(--status-bar-height) + 320rpx) !important;
+		padding-top: calc(var(--status-bar-height) + 300rpx) !important;
 		height: 100vh;
 		box-sizing: border-box;
 		width: 100%;
@@ -365,7 +379,34 @@ overflow: hidden;
 				height: 500rpx;
 				margin-top: 30rpx;
 			}
+.legend {
+		// height: 34rpx;
+		margin-top: 44rpx;
+		// @include u-flex(row, center, space-between);
+		display: flex;
+		align-items: center;
+		justify-content: space-between;
+		font-family: PingFang SC, PingFang SC;
+		font-weight: 400;
+		font-size: 24rpx;
+		color: #626468;
+
+		&-item {
+			flex: 1;
+			text-align: center;
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			// @include u-flex(row, center, center);
+		}
 
+		&-dot {
+			width: 16rpx;
+			height: 16rpx;
+			border-radius: 50%;
+			margin: 16rpx;
+		}
+	}
 			.more {
 				display: flex;
 				align-items: center;

+ 1 - 1
pages_echarts/acidList.vue

@@ -109,7 +109,7 @@
 							},
 							{
 								type:2,
-								typeName:'轻微',
+								typeName:'不良',
 								data:10.9,
 								createTime:'2025-02-25 20:39:55'
 							}

+ 38 - 1
pages_echarts/bloodPressure.vue

@@ -16,6 +16,14 @@
 				<view class="charts-box">
 					<qiun-data-charts type="area" :opts="opts" :chartData="chartData" />
 				</view>
+				<view class="legend">
+					<view class="legend-item">
+						<view class="legend-dot" style="background-color: #FF5030;"></view><text>收缩压90-140mmHg</text>
+					</view>
+					<view class="legend-item">
+						<view class="legend-dot" style="background-color: #008FD3;"></view><text>舒张压60-90mmHg</text>
+					</view>
+				</view>
 			</view>
 			<view class="content-box">
 				<view class="align-center justify-between">
@@ -65,6 +73,8 @@
 		},
 		data() {
 			return {
+				loading: false,
+				isEmpty: false,
 				statusBarHeight: '',
 				top: 0,
 				aIndex:0,
@@ -259,7 +269,7 @@
 			}
 		}
 	.content {
-		padding-top: calc(var(--status-bar-height) + 320rpx) !important;
+		padding-top: calc(var(--status-bar-height) + 300rpx) !important;
 		height: 100vh;
 		box-sizing: border-box;
 		width: 100%;
@@ -317,7 +327,34 @@ overflow: hidden;
 				height: 500rpx;
 				margin-top: 30rpx;
 			}
+	.legend {
+		// height: 34rpx;
+		margin-top: 44rpx;
+		// @include u-flex(row, center, space-between);
+		display: flex;
+		align-items: center;
+		justify-content: space-between;
+		font-family: PingFang SC, PingFang SC;
+		font-weight: 400;
+		font-size: 24rpx;
+		color: #626468;
+
+		&-item {
+			flex: 1;
+			text-align: center;
+			// @include u-flex(row, center, center);
+			display: flex;
+			align-items: center;
+			justify-content: center;
+		}
 
+		&-dot {
+			width: 16rpx;
+			height: 16rpx;
+			border-radius: 50%;
+			margin: 16rpx;
+		}
+	}
 			.more {
 				display: flex;
 				align-items: center;

+ 1 - 1
pages_echarts/bloodSugar.vue

@@ -283,7 +283,7 @@ import dateTimePicker from "@/pages_echarts/components/dateTimePicker/dateTimePi
 			}
 		}
 	.content {
-		padding-top: calc(var(--status-bar-height) + 320rpx) !important;
+		padding-top: calc(var(--status-bar-height) + 300rpx) !important;
 		height: 100vh;
 		box-sizing: border-box;
 		width: 100%;

+ 50 - 12
pages_echarts/hips.vue

@@ -21,15 +21,27 @@
 		</view>
 		<scroll-view class="content" :scroll-y="true">
 			<view class="content-box">
-				<view class="box-tab">
+				<!-- <view class="box-tab">
 					<view class="item active">图表</view>
 					<view class="item">列表</view>
 				</view>
-				<view class="h40"></view>
+				<view class="h40"></view> -->
+				<view class="tltle">臀围趋势</view>
 				<view class="subtitle">单位:CM</view>
 				<view class="charts-box">
 					<qiun-data-charts type="line" :opts="opts" :chartData="chartData" />
 				</view>
+				<view class="legend">
+					<view class="legend-item">
+						<view class="legend-dot" style="background-color: #52D087;"></view><text>正常</text>
+					</view>
+					<view class="legend-item">
+						<view class="legend-dot" style="background-color: #FDBD27;"></view><text>偏小</text>
+					</view>
+					<view class="legend-item">
+						<view class="legend-dot" style="background-color: #FF5030;"></view><text>偏大</text>
+					</view>
+				</view>
 			</view>
 			<view class="h40"></view>
 			<view class="btn-box">
@@ -67,13 +79,13 @@
 				chartData: {},
 				opts: {
 					color: ["#FDBD27", "#FF5030"],
-					padding: [15, 10, 10, 15],
+					padding: [15, 0, 15, 0],
 					enableScroll: false,
 					dataLabel: false,
 					dataPointShapeType: 'hollow',
 					tapLegend: false,
 					legend: {
-
+						show: false
 					},
 					xAxis: {
 						// disableGrid: true
@@ -158,7 +170,7 @@
 			},
 			navgetTo(index) {
 				uni.navigateTo({
-					url: '/pages_echarts/acidList'
+					url: '/pages_echarts/hipsList'
 				})
 			},
 			goToUser() {
@@ -247,10 +259,11 @@
 	}
 
 	.content {
-		padding-top: calc(var(--status-bar-height) + 320rpx) !important;
+		padding-top: calc(var(--status-bar-height) + 300rpx) !important;
 		height: 100vh;
 		box-sizing: border-box;
 		width: 100%;
+		padding: 20rpx;
 		// padding: 0 24rpx 24rpx 24rpx;
 		overflow: hidden;
 
@@ -279,11 +292,9 @@
 		.content-box {
 			// width: 100%;
 			background: #FFFFFF;
-			border-radius: 40rpx 40rpx 16rpx 16rpx;
-			// padding: 24rpx;
-			margin: auto 10px;
-			overflow: hidden;
-			// padding-bottom: 20rpx;
+			border-radius: 16rpx;
+			padding: 24rpx;
+			margin-bottom: 20rpx;
 
 			.tltle {
 				font-family: PingFang SC;
@@ -295,7 +306,7 @@
 			}
 
 			.subtitle {
-				padding-left: 24rpx;
+				// padding-left: 24rpx;
 				font-weight: 400;
 				font-size: 24rpx;
 				color: #898E91;
@@ -310,7 +321,34 @@
 				height: 500rpx;
 				margin-top: 30rpx;
 			}
+	.legend {
+		// height: 34rpx;
+		margin-top: 44rpx;
+		// @include u-flex(row, center, space-between);
+		display: flex;
+		align-items: center;
+		justify-content: space-between;
+		font-family: PingFang SC, PingFang SC;
+		font-weight: 400;
+		font-size: 24rpx;
+		color: #626468;
 
+		&-item {
+			flex: 1;
+			text-align: center;
+			// @include u-flex(row, center, center);
+			display: flex;
+			align-items: center;
+			justify-content: center;
+		}
+
+		&-dot {
+			width: 16rpx;
+			height: 16rpx;
+			border-radius: 50%;
+			margin: 16rpx;
+		}
+	}
 			.more {
 				display: flex;
 				align-items: center;

+ 187 - 0
pages_echarts/hipsDetail.vue

@@ -0,0 +1,187 @@
+<template>
+	<view class="container">
+		<view class="datebox">
+			<picker mode="date" :value="date" :start="startDate" :end="endDate" @change="bindDateChange">
+				<view class="datebox-item border-line flex-bt">
+					<view>日期</view>
+					<view class="datebox-item-right">
+						<text :class="date ? '':'default'">{{date ? date : "请选择日期"}}</text>
+						<image src="@/static/images/health/right_arrow_right_icon24.png"></image>
+					</view>
+				</view>
+			</picker>
+			<picker mode="time" :value="time" @change="bindTimeChange">
+				<view class="datebox-item flex-bt">
+					<view>测量时间</view>
+					<view class="datebox-item-right">
+						<text :class="time ? '':'default'">{{time ? time : "请选择测量时间"}}</text>
+						<image src="@/static/images/health/right_arrow_right_icon24.png"></image>
+					</view>
+				</view>
+			</picker>
+		</view>
+		<view class="datebox-detail">
+			<view class="datebox-detail-header flex-bt">
+				<view>臀围</view>
+				<view class="datebox-detail-header-right">
+					<text class="num">{{active}}</text>
+					<text>CM</text>
+				</view>
+			</view>
+			<view class="scale">
+				<simpleScale ref="simpleScale" :minVal="0" :maxVal="33" :int="false" :single="10" :h="h" :active="active" :scroll="false" :style="style"
+					@value="getScroll" />
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import simpleScale from "@/pages_echarts/components/simpleScale/simpleScale.vue"
+	// import { bgInfo } from "@/api/pages_watch/healthMonitoring.js"
+	export default {
+		components: {
+			simpleScale
+		},
+		data() {
+			return {
+				// 表示有效日期范围的开始,字符串格式为"YYYY-MM-DD"
+				startDate: "2020-01-01",
+				// 表示有效日期范围的结束,字符串格式为"YYYY-MM-DD"
+				endDate: this.utils.timeFormat(new Date()),
+				date: "2024-01-01",
+				time: "17:12",
+				active: "6",
+				loading: false,
+				style: {
+					line: '#ccc',
+					bginner: '#fbfbfb',
+					bgoutside: '#ffffff',
+					fontColor: '#333',
+					fontSize: 16
+				},
+				h: uni.upx2px(88)
+			}
+		},
+		onLoad(option) {
+			// const param = JSON.parse(option.param)
+			// this.date = param.createTime && param.createTime.split(' ')[0]
+			// this.time = param.createTime && param.createTime.substring(11, 16)
+			// this.active = String(param.num || 0)
+			this.$nextTick(()=>{
+				this.$refs.simpleScale.init()
+			})
+		},
+		methods: {
+			bindDateChange(e) {
+				this.date = e.detail.value
+				this.getList()
+			},
+			bindTimeChange(e) {
+				this.time = e.detail.value
+				this.getList()
+			},
+			getScroll(e) {
+				this.active = e
+			},
+			// 查询数据
+			getList() {
+				this.loading = true
+				const param = {
+					startTime: this.date.replace(/-/g, '/') +" " +this.time + ":00",
+					endTime: this.date.replace(/-/g, '/') +" " + this.time + ":59",
+					deviceId: uni.getStorageSync("deviceId"),
+				}
+				bgInfo(param).then(res => {
+					this.loading = false
+					if (res.code == 200) {
+						if(res.data && res.data.length > 0) {
+							this.date = res.data[0].createTime && res.data[0].createTime.split(' ')[0]
+							this.time = res.data[0].createTime && res.data[0].createTime.substring(11, 16)
+							this.active = String(res.data[0].bloodGlucose || 0)
+						} else {
+							this.active = "0"
+						}
+						
+					} else {
+						this.active = "0"
+					}
+					this.$nextTick(()=>{
+						this.$refs.simpleScale.init()
+					})
+				}).catch(() => {
+					this.loading = false
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	@mixin u-flex($flexD, $alignI, $justifyC) {
+		display: flex;
+		flex-direction: $flexD;
+		align-items: $alignI;
+		justify-content: $justifyC;
+	}
+	.flex-bt {
+		@include u-flex(row, center, space-between);
+	}
+	.default {
+		font-weight: 400;
+		font-size: 28rpx;
+		color: #999999;
+	}
+	.container {
+		padding: 20rpx 24rpx;
+		font-family: PingFang SC, PingFang SC;
+		font-weight: 500;
+		font-size: 32rpx;
+		color: #333333;
+	}
+	.datebox {
+		padding: 0 32rpx;
+		margin-bottom: 20rpx;
+		background: #FFFFFF;
+		border-radius: 16rpx 16rpx 16rpx 16rpx;
+		&-item {
+			height: 120rpx;
+			&-right {
+				font-weight: 400;
+				font-size: 32rpx;
+				@include u-flex(row, center, flex-start);
+				image {
+					width: 48rpx;
+					height: 48rpx;
+				}
+			}
+		}
+	}
+	.datebox-detail {
+		background: #FFFFFF;
+		border-radius: 16rpx 16rpx 16rpx 16rpx;
+		padding: 40rpx 32rpx;
+		&-header-right {
+			flex-shrink: 0;
+			font-weight: 400;
+			font-size: 28rpx;
+			color: #999999;
+			.num {
+				font-size: 48rpx;
+				color: #333333;
+				margin-right: 14rpx;
+			}
+		}
+	}
+	.scale {
+		height: 176rpx;
+		margin-top: 36rpx;
+		overflow: hidden;
+		background: #FFFFFF;
+		box-shadow: 0rpx 4rpx 8rpx 0rpx rgba(170,170,170,0.1);
+		border-radius: 0rpx 0rpx 0rpx 0rpx;
+		border: 2rpx solid #ECECEC;
+		// width: 200rpx;
+		// height: 600rpx;
+	}
+</style>

+ 405 - 0
pages_echarts/hipsList.vue

@@ -0,0 +1,405 @@
+<template>
+	<view class="content">
+		<view class="top-fixed">
+			<!-- tab切换 -->
+			<view class="pub-tab-box">
+				<view class="tab-inner">
+					<view 
+						v-for="(item,index) in orderStatus" 
+						:key="index"
+						:class="item.val == orderStatusValue?'item active':'item'"
+						@click="orderStatusChange(item)">
+						<view class="text">
+							{{ item.name }}
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+		<view class="consu-list">
+			<view class="tab-time">
+				<picker class="birth-picker" mode="date"  fields="month"  @change="bindDateChange">
+					<view class="left-box">
+						<view>{{day}}</view>
+						<image class="w48 h48" src="../static/images/health/arrow_down.png"></image>
+					</view>
+				</picker>
+			</view>
+			<mescroll-body top="176upx" ref="mescrollRef">
+				<view v-for="(item,index) in dataList" :key="index" class="item">
+					<view class="item-top">
+						{{item.date}}
+					</view>
+					<view class="bottom-box" v-for="(it,idx) in item.list" :key="idx" @click="showDetail(it)">
+						<view class="amount-paid">
+							<view :class="'title bg'+it.type">{{it.typeName}}</view>
+							<view class="data">{{it.data}} CM</view>
+						</view>
+						<view class="time">{{utils.formatDate(it.createTime)}}</view>
+					</view>
+				</view>
+			</mescroll-body>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {getMyDoctorOrderList,cancelOrder} from '@/api/doctorOrder.js'
+	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
+	export default {
+		mixins: [MescrollMixin], 
+		data() {
+			return {
+				day:this.utils.timeFormat(new Date(),'yyyy年mm月'),
+				orderStatus:[
+					{name:"全部",val:""},
+					{name:"正常",val:"0"},
+					{name:"偏小",val:"1"},
+					{name:"偏大",val:"2"},
+				],
+				orderStatusValue:'',
+				mescroll:null,
+				// 上拉加载的配置
+				upOption: {
+					onScroll:true,
+					use: true, // 是否启用上拉加载; 默认true
+					page: {
+						num: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
+						size: 10 // 每页数据的数量,默认10
+					},
+					noMoreSize: 10, // 配置列表的总数量要大于等于5条才显示'-- END --'的提示
+					empty: {
+						icon:'/static/images/no_data.png',
+						tip: '暂无数据'
+					}
+				},
+				// 列表数据
+				dataList: [
+					{
+					 list:[
+							{
+								type:1,
+								typeName:'正常',
+								data:10.9,
+								createTime:'2025-06-25 12:39:55'
+							},
+							{
+								type:2,
+								typeName:'偏小',
+								data:10.9,
+								createTime:'2025-06-25 22:39:55'
+							},
+							{
+								type:3,
+								typeName:'偏大',
+								data:10.9,
+								createTime:'2025-06-25 17:39:55'
+							}
+						],
+						date:'2025-06-25',
+						id:1
+					},
+					{
+					 list:[
+							{
+								type:1,
+								typeName:'正常',
+								data:10.9,
+								createTime:'2025-02-25 12:39:55'
+							},
+							{
+								type:2,
+								typeName:'偏小',
+								data:10.9,
+								createTime:'2025-02-25 20:39:55'
+							}
+						],
+						date:'2025-02-25',
+						id:2
+					}
+				]
+			}
+		},
+		onLoad() {
+			// uni.$on('refreshDoctorOrder', () => {
+			// 	this.mescroll.resetUpScroll()
+			// })
+		},
+		methods: {
+			// 时间选择
+			bindDateChange: function(e) {
+				this.day = this.utils.timeFormat(new Date(e.target.value),'yyyy年mm月')
+			},
+			navgetTo(index){
+				uni.navigateTo({
+					url: index==0?'/pages_health/addServe':'/pages_health/addCompetitors'
+				})
+			},
+			cancel(item){
+				var that=this;
+				uni.showModal({
+				    title: '提示',
+				    content: '确定取消订单吗',
+				    success: function (res) {
+				        if (res.confirm) {
+							var data = {
+								orderId:item.orderId
+							};
+							cancelOrder(data).then(res => {
+								if(res.code==200){
+									uni.showToast({
+										icon:'success',
+										title: '订单已取消',
+									});
+									 that.mescroll.resetUpScroll()
+								}else{
+									uni.showToast({
+										icon:'none',
+										title: res.msg,
+									});
+								}
+							});
+				        } 
+						else if (res.cancel) {
+				        }
+				    }
+				});
+			},
+			// tab切换
+			orderStatusChange(item) {
+				this.orderStatusValue = item.val
+				if(item.val==1){
+					this.dataList=this.dataList2
+				}
+				this.mescroll.resetUpScroll()
+			},
+			mescrollInit(mescroll) {
+				this.mescroll = mescroll;
+			},
+			/*下拉刷新的回调 */
+			downCallback(mescroll) {
+				mescroll.resetUpScroll()
+			},
+			upCallback(page) {
+				//联网加载数据
+				var that = this;
+				var data = {
+					status:this.orderStatusValue,
+					page: page.num,
+					pageSize: page.size
+				};
+				// getMyDoctorOrderList(data).then(res => {
+				// 	if(res.code==200){
+				// 		//设置列表数据
+				// 		if (page.num == 1) {
+				// 			that.dataList = res.data.list; 
+							
+				// 		} else {
+				// 			that.dataList = that.dataList.concat(res.data.list);
+							 
+				// 		}
+				// 		that.mescroll.endBySize(res.data.list.length, res.data.total);
+						
+				// 	}else{
+				// 		uni.showToast({
+				// 			icon:'none',
+				// 			title: "请求失败",
+				// 		});
+				// 		that.dataList = null;
+				// 		that.mescroll.endErr();
+				// 	}
+				// });
+			},
+			showDetail(item){
+				console.log(item,'pp')
+				uni.navigateTo({
+					url: '/pages_echarts/hipsDetail'
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.content{
+		padding: 20upx;
+		.top-fixed{
+			width: 100%;
+			position: fixed;
+			top: 0;
+			left: 0;
+			z-index: 10;
+		}
+		.pub-tab-box{
+			box-sizing: border-box;
+			width: 100%;
+			padding: 0 60upx;
+			background-color: #FFFFFF;
+			.tab-inner{
+				height: 88upx;
+				line-height: 88upx;
+				display: flex;
+				align-items: center;
+				justify-content:space-between;
+				overflow-x: auto;
+			}
+			.item{
+				font-size: 28upx;
+				white-space: nowrap;
+				line-height: 1;
+				font-family: PingFang SC;
+				font-weight: 500;
+				color: #666666;
+				// margin-right: 60upx;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				&:last-child{
+					margin-right: 0;
+				}
+				&.active{
+					font-weight: bold;
+					color: #333333;
+					&::after {
+						content: "";
+						width: 48rpx;
+						height: 8rpx;
+						background: linear-gradient(120deg, #31A1FE  0%, #008FD3 100%);
+						position: absolute;
+						bottom: 0;
+						border-radius: 6upx 6upx 0upx 0;
+					}
+				}
+				.text{
+					position: relative;
+					z-index: 1;
+				}
+				.tab-bg{
+					width: 72upx;
+					height: 28upx;
+					position: absolute;
+					top: 17upx;
+					left: 50%;
+					transform: translateX(-36upx);
+					z-index: -1;
+				}
+			}
+		}
+		.tab-time{
+			padding: 32rpx 24rpx;
+			    font-size: 30rpx;
+			    color: #222426;
+			    text-align: left;
+				position: fixed;
+				top:88upx;
+				z-index:10;
+			.birth-picker {
+				flex: 1;
+				display: flex;
+				align-items: center;
+				
+				.left-box{
+					width: 100%;
+					font-weight: 500;
+					font-size: 30rpx;
+					color: #222426;
+					display: flex;
+					align-items: center;
+					.input-box{
+						// width: 470upx;
+					}
+					.arrow{
+						width: 13upx;
+						height: 23upx;
+						margin-left: 20upx;
+					}
+				}
+			}
+		}
+		.consu-list{
+			.item{
+				background: #FFFFFF;
+				border-radius: 16upx;
+				padding: 24rpx;
+				position: relative;
+				margin-bottom: 20upx;
+				.item-top{
+					font-family: PingFang SC;
+					font-weight: 500;
+					font-size: 28rpx;
+					color: #626468;
+					text-align: left;
+					padding:16rpx 0;
+					.item-title{
+						display: flex;
+						align-items: center;
+						justify-content: space-between;
+						margin-bottom: 12rpx;
+						
+					}
+					.ask-text{
+						font-family: PingFang SC;
+						font-weight: 500;
+						font-size: 36rpx;
+						color: #222426;
+						text-align: left;
+					}
+					.ask-time{
+						font-size: 24rpx;
+						color: #898E91;
+						text-align: left;
+						line-height: 40rpx;
+					}
+				}
+				.bottom-box{
+					// height: 80upx;
+					display: flex;
+					align-items: center;
+					justify-content: space-between;
+					padding:32rpx 0;
+					border-bottom: 1px solid #ECECEC;
+					&:last-child{
+						border-bottom: 0;
+					}
+					.amount-paid{
+						display: flex;
+						align-items: center;
+				        .title{
+							width: 72rpx;
+							height: 72rpx;
+							line-height: 72rpx;
+							font-family: PingFang SC;
+							font-weight: 500;
+							font-size: 24rpx;
+							color: #FFFFFF;
+							text-align: center;
+							margin-right: 18rpx;
+							border-radius:50%;
+						}
+						.bg1{
+							background: #52D087;
+						}
+						.bg2{
+							background: #FFB992;
+						}
+						.bg3{
+							background: #FF5558;
+						}
+						.data{
+							font-weight: 500;
+							font-size: 30rpx;
+							color: #222426;
+							text-align: left;
+						}
+					}
+				    .time{
+						font-size: 24rpx;
+						color: #898E91;
+						text-align: right;
+					}
+				}
+			}
+		}
+		
+	}
+</style>

+ 50 - 13
pages_echarts/waistLine.vue

@@ -21,15 +21,27 @@
 		</view>
 		<scroll-view class="content" :scroll-y="true">
 			<view class="content-box">
-				<view class="box-tab">
+				<!-- <view class="box-tab">
 					<view class="item active">图表</view>
 					<view class="item">列表</view>
 				</view>
-				<view class="h40"></view>
+				<view class="h40"></view> -->
+				<view class="tltle">腰围趋势</view>
 				<view class="subtitle">单位:CM</view>
 				<view class="charts-box">
 					<qiun-data-charts type="line" :opts="opts" :chartData="chartData" />
 				</view>
+				<view class="legend">
+					<view class="legend-item">
+						<view class="legend-dot" style="background-color: #52D087;"></view><text>正常</text>
+					</view>
+					<view class="legend-item">
+						<view class="legend-dot" style="background-color: #FDBD27;"></view><text>偏小</text>
+					</view>
+					<view class="legend-item">
+						<view class="legend-dot" style="background-color: #FF5030;"></view><text>偏大</text>
+					</view>
+				</view>
 			</view>
 			<view class="h40"></view>
 			<view class="btn-box">
@@ -67,13 +79,13 @@
 				chartData: {},
 				opts: {
 					color: ["#FDBD27", "#FF5030"],
-					padding: [15, 10, 10, 15],
+					padding: [15, 0, 15, 0],
 					enableScroll: false,
 					dataLabel: false,
 					dataPointShapeType: 'hollow',
 					tapLegend: false,
 					legend: {
-
+						show: false
 					},
 					xAxis: {
 						// disableGrid: true
@@ -158,7 +170,7 @@
 			},
 			navgetTo(index) {
 				uni.navigateTo({
-					url: '/pages_echarts/acidList'
+					url: '/pages_echarts/waistLineList'
 				})
 			},
 			goToUser() {
@@ -247,13 +259,13 @@
 	}
 
 	.content {
-		padding-top: calc(var(--status-bar-height) + 320rpx) !important;
+		padding-top: calc(var(--status-bar-height) + 300rpx) !important;
 		height: 100vh;
 		box-sizing: border-box;
 		width: 100%;
 		// padding: 0 24rpx 24rpx 24rpx;
 		overflow: hidden;
-
+padding: 20rpx;
 		.btn-box {
 			height: 120upx;
 			padding: 0 30upx;
@@ -279,11 +291,9 @@
 		.content-box {
 			// width: 100%;
 			background: #FFFFFF;
-			border-radius: 40rpx 40rpx 16rpx 16rpx;
-			// padding: 24rpx;
-			margin: auto 10px;
-			overflow: hidden;
-			// padding-bottom: 20rpx;
+			border-radius: 16rpx;
+			padding: 24rpx;
+			margin-bottom: 20rpx;
 
 			.tltle {
 				font-family: PingFang SC;
@@ -295,7 +305,7 @@
 			}
 
 			.subtitle {
-				padding-left: 24rpx;
+				// padding-left: 24rpx;
 				font-weight: 400;
 				font-size: 24rpx;
 				color: #898E91;
@@ -310,7 +320,34 @@
 				height: 500rpx;
 				margin-top: 30rpx;
 			}
+	.legend {
+		// height: 34rpx;
+		margin-top: 44rpx;
+		// @include u-flex(row, center, space-between);
+		display: flex;
+		align-items: center;
+		justify-content: space-between;
+		font-family: PingFang SC, PingFang SC;
+		font-weight: 400;
+		font-size: 24rpx;
+		color: #626468;
+
+		&-item {
+			flex: 1;
+			text-align: center;
+			// @include u-flex(row, center, center);
+			display: flex;
+			align-items: center;
+			justify-content: center;
+		}
 
+		&-dot {
+			width: 16rpx;
+			height: 16rpx;
+			border-radius: 50%;
+			margin: 16rpx;
+		}
+	}
 			.more {
 				display: flex;
 				align-items: center;

+ 187 - 0
pages_echarts/waistLineDetail.vue

@@ -0,0 +1,187 @@
+<template>
+	<view class="container">
+		<view class="datebox">
+			<picker mode="date" :value="date" :start="startDate" :end="endDate" @change="bindDateChange">
+				<view class="datebox-item border-line flex-bt">
+					<view>日期</view>
+					<view class="datebox-item-right">
+						<text :class="date ? '':'default'">{{date ? date : "请选择日期"}}</text>
+						<image src="@/static/images/health/right_arrow_right_icon24.png"></image>
+					</view>
+				</view>
+			</picker>
+			<picker mode="time" :value="time" @change="bindTimeChange">
+				<view class="datebox-item flex-bt">
+					<view>测量时间</view>
+					<view class="datebox-item-right">
+						<text :class="time ? '':'default'">{{time ? time : "请选择测量时间"}}</text>
+						<image src="@/static/images/health/right_arrow_right_icon24.png"></image>
+					</view>
+				</view>
+			</picker>
+		</view>
+		<view class="datebox-detail">
+			<view class="datebox-detail-header flex-bt">
+				<view>腰围</view>
+				<view class="datebox-detail-header-right">
+					<text class="num">{{active}}</text>
+					<text>CM</text>
+				</view>
+			</view>
+			<view class="scale">
+				<simpleScale ref="simpleScale" :minVal="0" :maxVal="33" :int="false" :single="10" :h="h" :active="active" :scroll="false" :style="style"
+					@value="getScroll" />
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import simpleScale from "@/pages_echarts/components/simpleScale/simpleScale.vue"
+	// import { bgInfo } from "@/api/pages_watch/healthMonitoring.js"
+	export default {
+		components: {
+			simpleScale
+		},
+		data() {
+			return {
+				// 表示有效日期范围的开始,字符串格式为"YYYY-MM-DD"
+				startDate: "2020-01-01",
+				// 表示有效日期范围的结束,字符串格式为"YYYY-MM-DD"
+				endDate: this.utils.timeFormat(new Date()),
+				date: "2024-01-01",
+				time: "17:12",
+				active: "6",
+				loading: false,
+				style: {
+					line: '#ccc',
+					bginner: '#fbfbfb',
+					bgoutside: '#ffffff',
+					fontColor: '#333',
+					fontSize: 16
+				},
+				h: uni.upx2px(88)
+			}
+		},
+		onLoad(option) {
+			// const param = JSON.parse(option.param)
+			// this.date = param.createTime && param.createTime.split(' ')[0]
+			// this.time = param.createTime && param.createTime.substring(11, 16)
+			// this.active = String(param.num || 0)
+			this.$nextTick(()=>{
+				this.$refs.simpleScale.init()
+			})
+		},
+		methods: {
+			bindDateChange(e) {
+				this.date = e.detail.value
+				this.getList()
+			},
+			bindTimeChange(e) {
+				this.time = e.detail.value
+				this.getList()
+			},
+			getScroll(e) {
+				this.active = e
+			},
+			// 查询数据
+			getList() {
+				this.loading = true
+				const param = {
+					startTime: this.date.replace(/-/g, '/') +" " +this.time + ":00",
+					endTime: this.date.replace(/-/g, '/') +" " + this.time + ":59",
+					deviceId: uni.getStorageSync("deviceId"),
+				}
+				bgInfo(param).then(res => {
+					this.loading = false
+					if (res.code == 200) {
+						if(res.data && res.data.length > 0) {
+							this.date = res.data[0].createTime && res.data[0].createTime.split(' ')[0]
+							this.time = res.data[0].createTime && res.data[0].createTime.substring(11, 16)
+							this.active = String(res.data[0].bloodGlucose || 0)
+						} else {
+							this.active = "0"
+						}
+						
+					} else {
+						this.active = "0"
+					}
+					this.$nextTick(()=>{
+						this.$refs.simpleScale.init()
+					})
+				}).catch(() => {
+					this.loading = false
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	@mixin u-flex($flexD, $alignI, $justifyC) {
+		display: flex;
+		flex-direction: $flexD;
+		align-items: $alignI;
+		justify-content: $justifyC;
+	}
+	.flex-bt {
+		@include u-flex(row, center, space-between);
+	}
+	.default {
+		font-weight: 400;
+		font-size: 28rpx;
+		color: #999999;
+	}
+	.container {
+		padding: 20rpx 24rpx;
+		font-family: PingFang SC, PingFang SC;
+		font-weight: 500;
+		font-size: 32rpx;
+		color: #333333;
+	}
+	.datebox {
+		padding: 0 32rpx;
+		margin-bottom: 20rpx;
+		background: #FFFFFF;
+		border-radius: 16rpx 16rpx 16rpx 16rpx;
+		&-item {
+			height: 120rpx;
+			&-right {
+				font-weight: 400;
+				font-size: 32rpx;
+				@include u-flex(row, center, flex-start);
+				image {
+					width: 48rpx;
+					height: 48rpx;
+				}
+			}
+		}
+	}
+	.datebox-detail {
+		background: #FFFFFF;
+		border-radius: 16rpx 16rpx 16rpx 16rpx;
+		padding: 40rpx 32rpx;
+		&-header-right {
+			flex-shrink: 0;
+			font-weight: 400;
+			font-size: 28rpx;
+			color: #999999;
+			.num {
+				font-size: 48rpx;
+				color: #333333;
+				margin-right: 14rpx;
+			}
+		}
+	}
+	.scale {
+		height: 176rpx;
+		margin-top: 36rpx;
+		overflow: hidden;
+		background: #FFFFFF;
+		box-shadow: 0rpx 4rpx 8rpx 0rpx rgba(170,170,170,0.1);
+		border-radius: 0rpx 0rpx 0rpx 0rpx;
+		border: 2rpx solid #ECECEC;
+		// width: 200rpx;
+		// height: 600rpx;
+	}
+</style>

+ 405 - 0
pages_echarts/waistLineList.vue

@@ -0,0 +1,405 @@
+<template>
+	<view class="content">
+		<view class="top-fixed">
+			<!-- tab切换 -->
+			<view class="pub-tab-box">
+				<view class="tab-inner">
+					<view 
+						v-for="(item,index) in orderStatus" 
+						:key="index"
+						:class="item.val == orderStatusValue?'item active':'item'"
+						@click="orderStatusChange(item)">
+						<view class="text">
+							{{ item.name }}
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+		<view class="consu-list">
+			<view class="tab-time">
+				<picker class="birth-picker" mode="date"  fields="month"  @change="bindDateChange">
+					<view class="left-box">
+						<view>{{day}}</view>
+						<image class="w48 h48" src="../static/images/health/arrow_down.png"></image>
+					</view>
+				</picker>
+			</view>
+			<mescroll-body top="176upx" ref="mescrollRef">
+				<view v-for="(item,index) in dataList" :key="index" class="item">
+					<view class="item-top">
+						{{item.date}}
+					</view>
+					<view class="bottom-box" v-for="(it,idx) in item.list" :key="idx" @click="showDetail(it)">
+						<view class="amount-paid">
+							<view :class="'title bg'+it.type">{{it.typeName}}</view>
+							<view class="data">{{it.data}} CM</view>
+						</view>
+						<view class="time">{{utils.formatDate(it.createTime)}}</view>
+					</view>
+				</view>
+			</mescroll-body>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {getMyDoctorOrderList,cancelOrder} from '@/api/doctorOrder.js'
+	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
+	export default {
+		mixins: [MescrollMixin], 
+		data() {
+			return {
+				day:this.utils.timeFormat(new Date(),'yyyy年mm月'),
+				orderStatus:[
+					{name:"全部",val:""},
+					{name:"正常",val:"0"},
+					{name:"偏小",val:"1"},
+					{name:"偏大",val:"2"},
+				],
+				orderStatusValue:'',
+				mescroll:null,
+				// 上拉加载的配置
+				upOption: {
+					onScroll:true,
+					use: true, // 是否启用上拉加载; 默认true
+					page: {
+						num: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
+						size: 10 // 每页数据的数量,默认10
+					},
+					noMoreSize: 10, // 配置列表的总数量要大于等于5条才显示'-- END --'的提示
+					empty: {
+						icon:'/static/images/no_data.png',
+						tip: '暂无数据'
+					}
+				},
+				// 列表数据
+				dataList: [
+					{
+					 list:[
+							{
+								type:1,
+								typeName:'正常',
+								data:10.9,
+								createTime:'2025-06-25 12:39:55'
+							},
+							{
+								type:2,
+								typeName:'偏小',
+								data:10.9,
+								createTime:'2025-06-25 22:39:55'
+							},
+							{
+								type:3,
+								typeName:'偏大',
+								data:10.9,
+								createTime:'2025-06-25 17:39:55'
+							}
+						],
+						date:'2025-06-25',
+						id:1
+					},
+					{
+					 list:[
+							{
+								type:1,
+								typeName:'正常',
+								data:10.9,
+								createTime:'2025-02-25 12:39:55'
+							},
+							{
+								type:2,
+								typeName:'偏小',
+								data:10.9,
+								createTime:'2025-02-25 20:39:55'
+							}
+						],
+						date:'2025-02-25',
+						id:2
+					}
+				]
+			}
+		},
+		onLoad() {
+			// uni.$on('refreshDoctorOrder', () => {
+			// 	this.mescroll.resetUpScroll()
+			// })
+		},
+		methods: {
+			// 时间选择
+			bindDateChange: function(e) {
+				this.day = this.utils.timeFormat(new Date(e.target.value),'yyyy年mm月')
+			},
+			navgetTo(index){
+				uni.navigateTo({
+					url: index==0?'/pages_health/addServe':'/pages_health/addCompetitors'
+				})
+			},
+			cancel(item){
+				var that=this;
+				uni.showModal({
+				    title: '提示',
+				    content: '确定取消订单吗',
+				    success: function (res) {
+				        if (res.confirm) {
+							var data = {
+								orderId:item.orderId
+							};
+							cancelOrder(data).then(res => {
+								if(res.code==200){
+									uni.showToast({
+										icon:'success',
+										title: '订单已取消',
+									});
+									 that.mescroll.resetUpScroll()
+								}else{
+									uni.showToast({
+										icon:'none',
+										title: res.msg,
+									});
+								}
+							});
+				        } 
+						else if (res.cancel) {
+				        }
+				    }
+				});
+			},
+			// tab切换
+			orderStatusChange(item) {
+				this.orderStatusValue = item.val
+				if(item.val==1){
+					this.dataList=this.dataList2
+				}
+				this.mescroll.resetUpScroll()
+			},
+			mescrollInit(mescroll) {
+				this.mescroll = mescroll;
+			},
+			/*下拉刷新的回调 */
+			downCallback(mescroll) {
+				mescroll.resetUpScroll()
+			},
+			upCallback(page) {
+				//联网加载数据
+				var that = this;
+				var data = {
+					status:this.orderStatusValue,
+					page: page.num,
+					pageSize: page.size
+				};
+				// getMyDoctorOrderList(data).then(res => {
+				// 	if(res.code==200){
+				// 		//设置列表数据
+				// 		if (page.num == 1) {
+				// 			that.dataList = res.data.list; 
+							
+				// 		} else {
+				// 			that.dataList = that.dataList.concat(res.data.list);
+							 
+				// 		}
+				// 		that.mescroll.endBySize(res.data.list.length, res.data.total);
+						
+				// 	}else{
+				// 		uni.showToast({
+				// 			icon:'none',
+				// 			title: "请求失败",
+				// 		});
+				// 		that.dataList = null;
+				// 		that.mescroll.endErr();
+				// 	}
+				// });
+			},
+			showDetail(item){
+				console.log(item,'pp')
+				uni.navigateTo({
+					url: '/pages_echarts/waistLineDetail'
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.content{
+		padding: 20upx;
+		.top-fixed{
+			width: 100%;
+			position: fixed;
+			top: 0;
+			left: 0;
+			z-index: 10;
+		}
+		.pub-tab-box{
+			box-sizing: border-box;
+			width: 100%;
+			padding: 0 60upx;
+			background-color: #FFFFFF;
+			.tab-inner{
+				height: 88upx;
+				line-height: 88upx;
+				display: flex;
+				align-items: center;
+				justify-content:space-between;
+				overflow-x: auto;
+			}
+			.item{
+				font-size: 28upx;
+				white-space: nowrap;
+				line-height: 1;
+				font-family: PingFang SC;
+				font-weight: 500;
+				color: #666666;
+				// margin-right: 60upx;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				&:last-child{
+					margin-right: 0;
+				}
+				&.active{
+					font-weight: bold;
+					color: #333333;
+					&::after {
+						content: "";
+						width: 48rpx;
+						height: 8rpx;
+						background: linear-gradient(120deg, #31A1FE  0%, #008FD3 100%);
+						position: absolute;
+						bottom: 0;
+						border-radius: 6upx 6upx 0upx 0;
+					}
+				}
+				.text{
+					position: relative;
+					z-index: 1;
+				}
+				.tab-bg{
+					width: 72upx;
+					height: 28upx;
+					position: absolute;
+					top: 17upx;
+					left: 50%;
+					transform: translateX(-36upx);
+					z-index: -1;
+				}
+			}
+		}
+		.tab-time{
+			padding: 32rpx 24rpx;
+			    font-size: 30rpx;
+			    color: #222426;
+			    text-align: left;
+				position: fixed;
+				top:88upx;
+				z-index:10;
+			.birth-picker {
+				flex: 1;
+				display: flex;
+				align-items: center;
+				
+				.left-box{
+					width: 100%;
+					font-weight: 500;
+					font-size: 30rpx;
+					color: #222426;
+					display: flex;
+					align-items: center;
+					.input-box{
+						// width: 470upx;
+					}
+					.arrow{
+						width: 13upx;
+						height: 23upx;
+						margin-left: 20upx;
+					}
+				}
+			}
+		}
+		.consu-list{
+			.item{
+				background: #FFFFFF;
+				border-radius: 16upx;
+				padding: 24rpx;
+				position: relative;
+				margin-bottom: 20upx;
+				.item-top{
+					font-family: PingFang SC;
+					font-weight: 500;
+					font-size: 28rpx;
+					color: #626468;
+					text-align: left;
+					padding:16rpx 0;
+					.item-title{
+						display: flex;
+						align-items: center;
+						justify-content: space-between;
+						margin-bottom: 12rpx;
+						
+					}
+					.ask-text{
+						font-family: PingFang SC;
+						font-weight: 500;
+						font-size: 36rpx;
+						color: #222426;
+						text-align: left;
+					}
+					.ask-time{
+						font-size: 24rpx;
+						color: #898E91;
+						text-align: left;
+						line-height: 40rpx;
+					}
+				}
+				.bottom-box{
+					// height: 80upx;
+					display: flex;
+					align-items: center;
+					justify-content: space-between;
+					padding:32rpx 0;
+					border-bottom: 1px solid #ECECEC;
+					&:last-child{
+						border-bottom: 0;
+					}
+					.amount-paid{
+						display: flex;
+						align-items: center;
+				        .title{
+							width: 72rpx;
+							height: 72rpx;
+							line-height: 72rpx;
+							font-family: PingFang SC;
+							font-weight: 500;
+							font-size: 24rpx;
+							color: #FFFFFF;
+							text-align: center;
+							margin-right: 18rpx;
+							border-radius:50%;
+						}
+						.bg1{
+							background: #52D087;
+						}
+						.bg2{
+							background: #FFB992;
+						}
+						.bg3{
+							background: #FF5558;
+						}
+						.data{
+							font-weight: 500;
+							font-size: 30rpx;
+							color: #222426;
+							text-align: left;
+						}
+					}
+				    .time{
+						font-size: 24rpx;
+						color: #898E91;
+						text-align: right;
+					}
+				}
+			}
+		}
+		
+	}
+</style>

+ 9 - 4
pages_health/healthfiles.vue

@@ -26,7 +26,7 @@
 			<view class="fs36 bold mt20">健康数据</view>
 			<view class="health-monitoring">
 				<view class="health-monitoring-item" v-for="(item,index) in indexInfo" :key="index"
-					@tap="handleMonitoring(item,index)">
+					@click="handleMonitoring(item,index)">
 					<view class="health-monitoring-title">
 						<view>
 							<view class="health-monitoring-maintitle bold">{{item.type.type}}</view>
@@ -58,7 +58,7 @@
 			</view>
 			<view class="fs36 bold mtb20">健康史</view>
 			<view class="cardbox">
-				<view class="health-item" v-for="(item,index) in healthRecordsList" :key="index" @click="handleEditHealth(item,1)">
+				<view class="health-item" v-for="(item,index) in healthRecordsList" :key="index" @click="handleEditHealth(item,index)">
 					<image class="health-bgicon" :src="item.bgicon"></image>
 					<view class="health-item-info">
 						<view class="cardbox-maintitle" style="margin-bottom: 0;">{{item.title}}</view>
@@ -210,9 +210,14 @@
 				break;
 				}
 			},
+			handleEditHealth(item,index){
+				uni.navigateTo({
+					url: '/pages_health/addDoc?type=edit&docId='
+				})
+			},
 			goToUser(){
 				uni.navigateTo({
-					url: '/pages_health/addUser?type=edit&docId='
+					url: '/pages_health/doc?type=edit&docId='
 				})
 			}
 		}
@@ -252,7 +257,7 @@
 	justify-content: space-between;
 	flex-wrap: wrap;
 	// gap: 16rpx;
-	margin-top: 30rpx;
+	margin-top: 20rpx;
 	margin-bottom: -16rpx;
 	margin-right: -16rpx;
 	&-item {