yanjie il y a 4 ans
Parent
commit
b9b03bef3b

+ 1 - 1
common/authorize.js

xqd
@@ -1,5 +1,5 @@
 var utilMd5 = require('./md5.js');
-const tx_key = 'XSWBZ-TBVWD-QJ54G-HGYZW-5AWQK-M2FYS'; // 腾讯地图key
+const tx_key = 'H3TBZ-Y5VW5-RQEIS-QZPN2-7DLA5-4OBMG'; // 腾讯地图key
 const tx_secret_key = ''; // key对应的签名
 
 // 登录

+ 6 - 0
pages.json

xqd
@@ -329,6 +329,12 @@
 						
 					}
 				}, {
+					"path": "my_consulting/appointmentInfo",
+					"style": {
+						"navigationBarTitleText": "预约详情"
+						
+					}
+				},{
 					"path": "my_consulting/conversation",
 					"style": {
 						"navigationBarTitleText": "会话窗口",

+ 2 - 1
pages/childcare/child_care.vue

xqd
@@ -194,7 +194,8 @@
 						if (item.schedule_period.length != 0) {
 							return {
 								date: item.schedule_date,
-								id: item.id
+								id: item.id,
+								week: item.week
 							}
 						}
 					})

+ 282 - 0
pages/common_tools/my_consulting/appointmentInfo.vue

xqd
@@ -0,0 +1,282 @@
+<template>
+	<view class="main">
+		<load-refresh ref="loadRefresh" :isPaging="false" :isRefresh="true" refreshType="loader" refreshTime="2000"
+		 heightReduce="10" backgroundCover="#fff" @refresh="refresh">
+			<view slot="content-list">
+				<view class="list">
+					<!-- 头像 -->
+					<view class="portrait" v-if="orderInfo.product_type == 3">
+						<view style="padding-top: 20rpx;">
+							<!-- <image class="img" :src=""></image> -->
+							<u-avatar :src="orderInfo.docter.avatar" mode="circle"></u-avatar>
+						</view>
+					</view>
+					<!-- 文字 -->
+					<view class="text" :style="orderInfo.product_type == 4||orderInfo.product_type == 5?'width:100%;padding:15rpx':''">
+						<!-- 名字+标签 -->
+						<view class="name" v-if="orderInfo.product_type == 3">
+							<view style="margin-right: 15rpx;">{{orderInfo.docter.name}}</view>
+							<view class="label" v-for="(itm,idx) in orderInfo.docter.label_texts" :key="index">{{itm.label_name}}</view>
+						</view>
+						<view class="name" v-if="orderInfo.product_type == 4||orderInfo.product_type == 5">
+							<view style="margin-right: 15rpx;">预约地址:{{orderInfo.organization.address}}</view>
+						</view>
+						<!-- 科室 -->
+						<view class="department" v-if="orderInfo.product_type == 3">
+							<text>科室:</text>
+							<text style="color: #333333;">{{orderInfo.docter.office.name}}</text>
+							<text style="color: #333333;">{{orderInfo.docter.qualification.name}}</text>
+						</view>
+						<view class="department" v-if="orderInfo.product_type == 4">
+							<text>预约疫苗:</text>
+							<text style="color: #333333;">{{orderInfo.order_vaccine.vaccine_name}}</text>
+						</view>
+						<view class="department flex align-center" v-if="orderInfo.product_type == 5">
+							<text>预约儿保项目:</text>
+							<view class="">
+								<view class="" v-for="(ite,idxn) in orderInfo.order_nurse" :key="idxn">
+									{{ite.nurse_name}}
+								</view>
+							</view>
+						</view>
+					</view>
+				</view>
+				<view class="padding-sm bg-white margin-top-sm">
+					<view class="text-lg text-black text-bold">
+						订单信息
+					</view>
+					<view class="text-gray margin-top-xs padding-tb-xs">
+						<text class="text-leftstyle">订单号:</text>
+						<text class="font_style">{{orderInfo.order_sn}}</text>
+					</view>
+					<view class="text-gray margin-top-xs padding-tb-xs">
+						<text class="text-leftstyle">状态:</text><text v-if="orderInfo.order_status==1" class="font_style" style="color: rgb(238, 170, 63);">未支付</text>
+						<text v-else-if="orderInfo.order_status==2" class="font_style" style="color: rgb(238, 170, 63);">待接单</text>
+						<text v-else-if="orderInfo.order_status==3" class="font_style" style="color: rgb(238, 170, 63);">进行中</text>
+						<text v-else-if="orderInfo.order_status==4" class="font_style" style="color: rgb(238, 170, 63);">已完成</text>
+						<text v-else-if="orderInfo.order_status==5" class="font_style" style="color: rgb(238, 170, 63);">已取消</text>
+					</view>
+					<view class="text-gray margin-top-xs padding-tb-xs">
+						<text class="text-leftstyle">下单时间:</text><text class="font_style">{{orderInfo.created_at}}</text>
+					</view>
+					<view class="text-gray margin-top-xs padding-tb-xs" v-if="orderInfo.end_time!=0">
+						<text class="text-leftstyle">结束时间:</text><text class="font_style">{{formatDate(orderInfo.end_time * 1000)}}</text>
+					</view>
+					<view class="text-gray margin-top-xs padding-tb-xs" v-if="orderInfo.product_type==1">
+						<text class="text-leftstyle">咨询时长:</text><text class="font_style">{{orderInfo.consult_duration}}秒</text>
+					</view>
+					<view class="text-gray margin-top-xs padding-tb-xs">
+						<text class="text-leftstyle">咨询患者:</text><text class="font_style">{{orderInfo.order_patient.name}}</text>
+					</view>
+					<view class="text-gray margin-top-xs padding-tb-xs">
+						<text class="text-leftstyle">已付款:</text><text class="font_style">¥{{orderInfo.total_amount/100}}</text>
+					</view>
+				</view>
+				<view class="cu-tabbar-height"></view>
+				<view class="cu-tabbar-height"></view>
+			</view>
+		</load-refresh>
+	</view>
+</template>
+
+<script>
+	export default {
+		onLoad(options) {
+			this.order_id = options.id
+		},
+		mounted() {
+			this.getordersInfo()
+		},
+		data() {
+			return {
+				order_id: "",
+				orderInfo: {},
+				outtime: ""
+			}
+		},
+		methods: {
+			refresh() {
+				this.getordersInfo()
+			},
+			getordersInfo: async function() {
+				let res = await this.$request.post("/api/v1/order/orderDetail", {
+					order_id: this.order_id
+				}, false)
+				console.log(res)
+				if (res.status == 0) {
+					this.orderInfo = res.data
+					this.$refs.loadRefresh.loadOver()
+					console.log(this.orderInfo)
+					// this.outtime = this.formatDate(this.orderInfo.end_time * 1000)
+				}
+			},
+		}
+	};
+</script>
+
+<style scoped lang="scss">
+	.main {
+		min-height: 100vh;
+	}
+
+	.text-leftstyle {
+		text-align: right;
+		width: 140rpx;
+		display: inline-block;
+	}
+
+	.font_style {
+		color: rgb(51, 51, 51);
+	}
+
+	.footer {
+		width: 100%;
+		height: auto;
+		display: flex;
+		position: fixed;
+		bottom: 0;
+	}
+
+	.round {
+		height: 45rpx;
+		width: 50rpx;
+		border-radius: 50%;
+		background-color: #ececec;
+	}
+
+	.card {
+		padding: 30rpx 30rpx;
+		box-sizing: border-box;
+
+		.card_view {
+			width: 100%;
+			background-color: #ffffff;
+			border-radius: 15rpx;
+
+			.title {
+				width: 100%;
+				height: 20vh;
+				display: flex;
+				justify-content: center;
+				align-items: flex-end;
+
+				.img {
+					width: 90%;
+					height: 90%;
+				}
+			}
+
+			.describe {
+				width: 100%;
+				height: 1;
+				padding: 100rpx 40rpx 20rpx 40rpx;
+			}
+		}
+	}
+
+	.list {
+		margin: 20rpx 0 10rpx 0;
+		padding: 20rpx 0;
+		align-items: center;
+		display: flex;
+		width: 100%;
+		border-radius: 15rpx;
+		background-color: #FFFFFF;
+		box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.08);
+
+		.portrait {
+			width: 20%;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+
+
+
+			.img {
+				width: 100rpx;
+				height: 100rpx;
+				border-radius: 50%;
+			}
+
+			.bun_true {
+				text-align: center;
+				width: 80rpx;
+				height: 36rpx;
+				background-color: #D92975;
+				margin: 0 10rpx;
+				border-radius: 60rpx;
+				position: relative;
+				top: -20rpx;
+				font-size: 20rpx;
+				color: #FFFFFF;
+				padding: 3rpx 0;
+			}
+
+			.bun_false {
+				border: 1rpx solid #D92975;
+				text-align: center;
+				width: 80rpx;
+				height: 36rpx;
+				background-color: #FFFFFF;
+				margin: 0 10rpx;
+				border-radius: 60rpx;
+				position: relative;
+				top: -20rpx;
+				font-size: 20rpx;
+				color: #D92975;
+				padding: 3rpx 0;
+			}
+		}
+
+		//文字
+		.text {
+			width: 70%;
+
+			//名字+标签
+			.name {
+				font-size: 30rpx;
+				font-weight: bold;
+				display: flex;
+				align-items: center;
+
+				.label {
+					font-weight: 400;
+					margin-right: 15rpx;
+					background-color: #E5F5FF;
+					color: #0B73B9;
+					width: 100rpx;
+					height: 28rpx;
+					font-size: 20rpx;
+					border-radius: 10rpx;
+					text-align: center;
+				}
+			}
+
+			//科室
+			.department {
+				margin-top: 15rpx;
+				color: #666666;
+
+				text {
+					margin-right: 15rpx;
+				}
+			}
+
+			// 选项
+			.option {
+				display: flex;
+
+				view {
+					background-color: #E4E4E4;
+					width: 100rpx;
+					height: 48rpx;
+					border-radius: 12px;
+					margin-right: 15rpx;
+					display: flex;
+					justify-content: center;
+					align-items: center;
+				}
+			}
+		}
+	}
+</style>

+ 15 - 1
pages/common_tools/my_consulting/my_appointment.vue

xqd xqd xqd
@@ -6,7 +6,7 @@
 			<u-dropdown-item v-model="value3" :title="options3[value3].label" @change="timechange" :options="options3"></u-dropdown-item>
 		</u-dropdown>
 		<view class="margin-lr-sm bg-white">
-			<view class="margin-top-sm" v-for="(item,index) in ordersList" :key="index" style="border-radius: 16rpx;box-shadow: 0 0 50rpx 0 rgba(0, 0, 0, 0.1);">
+			<view class="margin-top-sm" @click="gotoinfo(item)" v-for="(item,index) in ordersList" :key="index" style="border-radius: 16rpx;box-shadow: 0 0 50rpx 0 rgba(0, 0, 0, 0.1);">
 				<view class="flex justify-between align-center bg-white" style="padding: 28rpx;border-radius: 16rpx;">
 					<view class="jinxing">
 						<text style="display: inline-block;width: 12rpx;height: 12rpx;border-radius: 50%;background-color:#EEAA3F;margin-right: 8rpx;"></text>
@@ -49,6 +49,9 @@
 					<view class="textstyle margin-top-xs">
 						<text style="color: #333333;">预约时间:{{format(item.order_patient.appoint_start_time*1000)+'至'+format(item.order_patient.appoint_end_time*1000)}}</text>
 					</view>
+					<view class="cu-bar bg-white tabbar" v-if="item.order_status==1||item.order_status==2||item.order_status==3" style="width: 100%;display: flex;justify-content: flex-end;">
+						<u-button shape="circle" size="mini" @click="cancelOrder(item)" :ripple="true">取消订单</u-button>
+					</view>
 				</view>
 			</view>
 		</view>
@@ -138,6 +141,17 @@
 			uni.stopPullDownRefresh()
 		},
 		methods: {
+			cancelOrder: async function(item) {
+				let res = await this.$request.post("/api/v1/order/orderCancel", {
+					order_id: item.id
+				})
+				console.log(res)
+			},
+			gotoinfo(item) {
+				uni.navigateTo({
+					url: "appointmentInfo?id=" + item.id
+				})
+			},
 			format(t) {
 				let time = new Date(t);
 				let str = time.getMonth() < 9 ? ('0' + (time.getMonth() + 1)) : (time.getMonth() + 1);

+ 7 - 2
pages/service_box/choiceBox.vue

xqd xqd xqd
@@ -9,7 +9,7 @@
 						{{packs.name}}
 					</view>
 					<view class="">
-						服务中
+
 					</view>
 				</view>
 				<!-- 放描述 -->
@@ -26,7 +26,7 @@
 					<view style="font-size: 28rpx;font-weight: bold;">监护人:{{service.guardian_name}}</view>
 					<view class="" v-for="(item,index) in packs.team" :key="index">
 						<view style="font-size: 28rpx;font-weight: bold;padding-top: 48rpx;">{{item.name}}</view>
-						<view class="list" v-for="(ite,idx) in item.docter" :key="idx">
+						<view class="list" v-for="(ite,idx) in item.docter" :key="idx" @click="gotodocterinfo(ite)">
 							<!-- 头像 -->
 							<view class="portrait">
 								<view style="padding-top: 20rpx;">
@@ -94,6 +94,11 @@
 			}
 		},
 		methods: {
+			gotodocterinfo(item) {
+				uni.navigateTo({
+					url: "../doctor_related/doctor_info?id=" + item.id + "&index=1"
+				})
+			},
 			//关注
 			submitCollect: async function(e) {
 				console.log(e)

+ 9 - 17
pages/service_packs/packs_information.vue

xqd xqd xqd xqd xqd
@@ -47,7 +47,7 @@
 			<view>
 				<view>
 					<!-- 标题 -->
-					<view class="information-title">宝贝计划</view>
+					<view class="information-title">患者计划</view>
 					<u-line color="#ededed" />
 					<!-- 姓名 -->
 					<uni-list :border="false">
@@ -55,7 +55,7 @@
 							<!-- 自定义左(header)右(footer)的内容 -->
 							<view slot="header">
 								<text class="xinghao">*</text>
-								<text style="font-size: 28rpx;">宝贝姓名</text>
+								<text style="font-size: 28rpx;">患者姓名</text>
 							</view>
 							<view slot="footer">
 								<text style="font-size: 30rpx;">{{value}}</text>
@@ -79,7 +79,7 @@
 							<!-- 自定义左(header)右(footer)的内容 -->
 							<view slot="header">
 								<text class="xinghao">*</text>
-								<text style="font-size: 28rpx;">宝贝是否有社保</text>
+								<text style="font-size: 28rpx;">患者是否有社保</text>
 							</view>
 							<view slot="footer">
 								<u-radio-group v-model="guarantee" @change="radioGroupChange">
@@ -125,7 +125,7 @@
 							<!-- 自定义左(header)右(footer)的内容 -->
 							<view slot="header">
 								<text class="xinghao">*</text>
-								<text style="font-size: 28rpx;">与宝贝的关系</text>
+								<text style="font-size: 28rpx;">与患者的关系</text>
 							</view>
 							<view slot="footer">
 								<!-- <view style="color: #AAAAAA;" v-if="nRelationship == '' ">请选择</view> -->
@@ -195,34 +195,26 @@
 				],
 				guanxilist: [{
 						value: '1',
-						label: '父'
+						label: '父'
 					},
 					{
 						value: '2',
-						label: '母'
+						label: '母'
 					},
 					{
 						value: '3',
-						label: '祖'
+						label: '祖'
 					},
 					{
 						value: '4',
-						label: '祖母'
+						label: '亲属'
 					},
 					{
 						value: '5',
-						label: '外祖父'
+						label: '本人'
 					},
 					{
 						value: '6',
-						label: '外祖母'
-					},
-					{
-						value: '7',
-						label: '叔侄'
-					},
-					{
-						value: '8',
 						label: '其他'
 					}
 				],

+ 2 - 1
pages/vaccines/vaccines_info.vue

xqd
@@ -194,7 +194,8 @@
 						if (item.schedule_period.length != 0) {
 							return {
 								date: item.schedule_date,
-								id: item.id
+								id: item.id,
+								week: item.week
 							}
 						}
 

+ 1 - 1
uview-ui/components/u-table/u-table.vue

xqd
@@ -39,7 +39,7 @@
 			// 字体大小
 			fontSize: {
 				type: [String, Number],
-				default: 28
+				default: 24
 			},
 			// 字体颜色
 			color: {

+ 1 - 1
uview-ui/components/u-th/u-th.vue

xqd
@@ -54,7 +54,7 @@
 		flex-direction: column;
 		flex: 1;
 		justify-content: center;
-		font-size: 28rpx;
+		font-size: 24rpx;
 		color: $u-main-color;
 		font-weight: bold;
 		background-color: rgb(245, 246, 248);