修改
This commit is contained in:
parent
5475f5a2e8
commit
88d1314cb7
20
api/Informationconfirmation/index.js
Normal file
20
api/Informationconfirmation/index.js
Normal file
@ -0,0 +1,20 @@
|
||||
import request from "../request.js"
|
||||
|
||||
//咨询预约时间
|
||||
export function informationConfirmation(patientId) {
|
||||
return request({
|
||||
url: `/nurseApp/healthConsultation/informationConfirmation?patientId=${patientId}`,
|
||||
method: 'GET'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
//提交
|
||||
export function addHealthConsultationOrder(data) {
|
||||
return request({
|
||||
url: `/nurseApp/healthConsultation/addHealthConsultationOrder`,
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
@ -3,106 +3,96 @@
|
||||
<view class="user">
|
||||
<view class="item">
|
||||
<span>姓名:</span>
|
||||
<span class='addition'>111</span>
|
||||
<span class='addition' v-if="userlist.patientName">{{userlist.patientName}}</span>
|
||||
</view>
|
||||
<view class="item">
|
||||
<span>电话:</span>
|
||||
<span class='addition'>111</span>
|
||||
</view>
|
||||
<view class="addressitem">
|
||||
<view class="leftaddress">地址:</view>
|
||||
<view class='addition'>111</view>
|
||||
<span class='addition' v-if="userlist.phone">{{userlist.phone}}</span>
|
||||
</view>
|
||||
<view class="item" style="border: 0;">
|
||||
<span>时间:</span>
|
||||
<span class='addition'>请选择</span>
|
||||
</view>
|
||||
<view class="worditem">
|
||||
<view class="today">
|
||||
<span class="todaytime">今天
|
||||
<view class="today" @tap='todayindex=index'
|
||||
:style="todayindex==index?'background: #FEF9F8;border: 1px solid #F44B2F;color: #F44B2F;':''"
|
||||
v-for="(item,index) in userlist.appointmentTimeList" :key="index">
|
||||
<span class="todaytime">
|
||||
{{item.week}}
|
||||
</span>
|
||||
<span class="time">02-10</span>
|
||||
</view>
|
||||
<view class="today">
|
||||
<span class="todaytime">今天
|
||||
</span>
|
||||
<span class="time">02-10</span>
|
||||
</view>
|
||||
<view class="today">
|
||||
<span class="todaytime">今天
|
||||
</span>
|
||||
<span class="time">02-10</span>
|
||||
</view>
|
||||
<view class="today">
|
||||
<span class="todaytime">今天
|
||||
</span>
|
||||
<span class="time">02-10</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="worditem" style="margin-top: 3%;">
|
||||
<view class="today">
|
||||
<span class="todaytime">今天
|
||||
</span>
|
||||
<span class="time">02-10</span>
|
||||
</view>
|
||||
<view class="today">
|
||||
<span class="todaytime">今天
|
||||
</span>
|
||||
<span class="time">02-10</span>
|
||||
</view>
|
||||
<view class="today">
|
||||
<span class="todaytime">今天
|
||||
</span>
|
||||
<span class="time">02-10</span>
|
||||
</view>
|
||||
<view class="today">
|
||||
<span class="todaytime">今天
|
||||
</span>
|
||||
<span class="time">02-10</span>
|
||||
<span class="time">{{item.healthConsultationDate}}</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="remarks">
|
||||
<span>咨询内容:</span>
|
||||
<input placeholder="请在此输入">
|
||||
<!-- <input type="text" placeholder="请在此输入"> -->
|
||||
<u-input v-model="updata.healthConsultationContent" type="textarea" :clearable='false' />
|
||||
</view>
|
||||
<view class="bottomitem">
|
||||
<span>298¥</span>
|
||||
<view class="submit" @tap='show=true'>确认</view>
|
||||
<span>¥{{updata.totalPrice}}</span>
|
||||
<view class="submit" @tap='buyshow=true'>确认</view>
|
||||
</view>
|
||||
<!-- 弹框 -->
|
||||
<view class="frame">
|
||||
<u-popup v-model="show" mode="bottom" length="45%" border-radius="30">
|
||||
<view class="payment">
|
||||
<span>请选择支付方式</span>
|
||||
<view class="cencel" @tap="show = false">
|
||||
<image src="../../static/gb.png" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="chat">
|
||||
<image src="/static/chat.png" mode=""></image>
|
||||
<span>微信支付</span>
|
||||
</view>
|
||||
<view class="submits" @tap='buy'>
|
||||
<span>确认支付</span><span>¥298</span>
|
||||
</view>
|
||||
</u-popup>
|
||||
</view>
|
||||
<u-popup v-model="buyshow" mode="bottom" length="45%" border-radius="30" :closeable='true'>
|
||||
<view class="payment">
|
||||
请选择支付方式
|
||||
</view>
|
||||
<view class="chat">
|
||||
<image src="/static/chat.png" mode=""></image>
|
||||
<span>微信支付</span>
|
||||
</view>
|
||||
<view class="submits" @tap='buy'>
|
||||
确认支付¥{{updata.totalPrice}}
|
||||
</view>
|
||||
</u-popup>
|
||||
<u-toast ref="uToast" />
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
import {
|
||||
informationConfirmation,
|
||||
addHealthConsultationOrder
|
||||
} from '@/api/Informationconfirmation/index.js'
|
||||
export default {
|
||||
|
||||
data() {
|
||||
return {
|
||||
show: false,
|
||||
buyshow: false,
|
||||
price: 0,
|
||||
userlist: {},
|
||||
todayindex: 0,
|
||||
updata: {
|
||||
"orderChannel": "WECHAT_APPLET",
|
||||
"patientId": null,
|
||||
"phone": null,
|
||||
"receiver": null,
|
||||
"healthAppointDate": null,
|
||||
"totalPrice": null,
|
||||
"hospitalPersonId": null,
|
||||
"healthConsultationContent": '',
|
||||
},
|
||||
}
|
||||
},
|
||||
|
||||
methods: {
|
||||
|
||||
buy() {
|
||||
addHealthConsultationOrder(this.updata).then(res => {
|
||||
console.log(res)
|
||||
})
|
||||
},
|
||||
},
|
||||
onLoad(options) {
|
||||
this.updata.totalPrice = Number(options.price)
|
||||
this.updata.hospitalPersonId = Number(options.hospitalPersonId)
|
||||
var that = this
|
||||
const value = uni.getStorageSync('patientId');
|
||||
if (value) {
|
||||
that.updata.patientId = value
|
||||
informationConfirmation(value).then(res => {
|
||||
that.userlist = res.data
|
||||
that.updata.phone = res.data.phone
|
||||
that.updata.receiver = res.data.patientName
|
||||
that.updata.healthAppointDate = res.data.appointmentTimeList[0].date
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@ -169,30 +159,31 @@
|
||||
|
||||
.worditem {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
width: 100%;
|
||||
justify-content: flex-start;
|
||||
flex-wrap: wrap;
|
||||
|
||||
.today {
|
||||
|
||||
width: 147rpx;
|
||||
width: 20%;
|
||||
margin: 0 2.5% 0 2.5%;
|
||||
margin-top: 20rpx;
|
||||
height: 90rpx;
|
||||
text-align: center;
|
||||
font-size: 26rpx;
|
||||
background: #FEF9F8;
|
||||
border: 1rpx solid #F44B2F;
|
||||
border: 1px solid #DADADA;
|
||||
border-radius: 5rpx;
|
||||
|
||||
|
||||
.time {
|
||||
font-size: 26rpx;
|
||||
display: block;
|
||||
line-height: 55rpx;
|
||||
line-height: 40rpx;
|
||||
}
|
||||
|
||||
.todaytime {
|
||||
padding-top: 5rpx;
|
||||
font-size: 26rpx;
|
||||
display: block;
|
||||
height: 30rpx;
|
||||
line-height: 55rpx;
|
||||
line-height: 40rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -205,92 +196,67 @@
|
||||
height: 440rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 20rpx;
|
||||
|
||||
position: relative;
|
||||
padding: 3%;
|
||||
|
||||
input {
|
||||
position: absolute;
|
||||
top: 25%;
|
||||
width: 77%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
padding: 30rpx 0 0 30rpx;
|
||||
}
|
||||
|
||||
.bottomitem {
|
||||
width: 750rpx;
|
||||
height: 132rpx;
|
||||
width: 100%;
|
||||
height: 120rpx;
|
||||
background: #FFFFFF;
|
||||
bottom: 0%;
|
||||
bottom: 0;
|
||||
position: fixed;
|
||||
padding: 5%;
|
||||
|
||||
span {
|
||||
// margin-left: 3%;
|
||||
// margin-top: 3%;
|
||||
font-size: 48rpx;
|
||||
line-height: 120rpx;
|
||||
color: #F44B2F;
|
||||
// line-height: 75rpx;
|
||||
margin: 0 0 0 30rpx;
|
||||
}
|
||||
|
||||
.submit {
|
||||
width: 186rpx;
|
||||
height: 61rpx;
|
||||
height: 70rpx;
|
||||
background: #F44B2F;
|
||||
color: #FFFFFF;
|
||||
border-radius: 30rpx;
|
||||
line-height: 61rpx;
|
||||
line-height: 70rpx;
|
||||
text-align: center;
|
||||
font-size: 32rpx;
|
||||
float: right;
|
||||
margin: 25rpx 30rpx 0 0;
|
||||
}
|
||||
}
|
||||
|
||||
// 弹框支付
|
||||
.payment {
|
||||
width: 390px;
|
||||
width: 100%;
|
||||
height: 130rpx;
|
||||
font-size: 42rpx;
|
||||
color: #000000;
|
||||
line-height: 130rpx;
|
||||
text-align: center;
|
||||
// margin: 0 auto;
|
||||
|
||||
border-bottom: 1rpx solid #D8D4D4;
|
||||
display: flex;
|
||||
|
||||
span {
|
||||
margin-left: 30%;
|
||||
}
|
||||
|
||||
.cencel {
|
||||
margin-left: 20%;
|
||||
|
||||
image {
|
||||
width: 31rpx;
|
||||
height: 31rpx;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
.chat {
|
||||
position: relative;
|
||||
height: 200rpx;
|
||||
|
||||
span {
|
||||
display: block;
|
||||
height: 68rpx;
|
||||
position: absolute;
|
||||
top: 50rpx;
|
||||
left: 180rpx;
|
||||
line-height: 70rpx;
|
||||
font-size: 42rpx;
|
||||
color: #000000;
|
||||
line-height: 68rpx;
|
||||
margin-left: 25%;
|
||||
margin-top: -10%;
|
||||
}
|
||||
|
||||
image {
|
||||
width: 79rpx;
|
||||
height: 69rpx;
|
||||
margin-top: 7%;
|
||||
padding-left: 10%;
|
||||
position: absolute;
|
||||
top: 50rpx;
|
||||
left: 70rpx;
|
||||
width: 80rpx;
|
||||
height: 70rpx;
|
||||
}
|
||||
}
|
||||
|
||||
@ -299,13 +265,14 @@
|
||||
width: 501rpx;
|
||||
height: 71rpx;
|
||||
line-height: 71rpx;
|
||||
// background: #4C7BC9;
|
||||
border-radius: 36rpx;
|
||||
font-size: 34rpx;
|
||||
color: #FFFFFF;
|
||||
text-align: center;
|
||||
margin: 0 auto;
|
||||
margin-top: 25%;
|
||||
position: fixed;
|
||||
bottom: 50rpx;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -146,7 +146,6 @@
|
||||
}
|
||||
},
|
||||
move(event) { //@touchmove触摸移动
|
||||
console.log(event, 2)
|
||||
let touch = event.touches[0]; //滑动过程中,手指滑动的坐标信息 返回的是Objcet对象
|
||||
this.touch = touch;
|
||||
},
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
</image>
|
||||
</swiper-item>
|
||||
</swiper> -->
|
||||
<view class="container">
|
||||
<view class="container" v-if="swiperImgUrls">
|
||||
<swiper :indicator-dots="true" :current="currentIndex" previous-margin="55rpx" next-margin="55rpx"
|
||||
:autoplay="autoplay" :interval="3000" :duration="1000" class="swiper-block" :circular='true'
|
||||
@change="swiperChange">
|
||||
|
||||
@ -1,17 +1,6 @@
|
||||
<template>
|
||||
<view class="app">
|
||||
<view class="concent">
|
||||
<view class="background">
|
||||
<image src="/static/logo.png" mode=""></image>
|
||||
<view class="detailed">
|
||||
<view>
|
||||
在“互联网+医疗健康”高速发展的当下,以远程诊疗、大数据、人工智能为代表的新技术应用,越来越多的应用在医疗健康服务当中,依托三甲专家团队赋能基层医疗,打造“医、药、检、险”的全闭环商业模式,实现物联网化医生联合体布局,提供数字化远程医疗解决方案,提升基层医疗水平,提高医疗效率,降低看病成本。
|
||||
平台将全力打造“智慧诊所”,为基层全科医生医提供物联网可穿戴式医疗设备,基层医生负责操作收集,医生集团的三甲专家远程出具诊断报告。有效将三甲医院医生、基层医生与患者连接,从而更加方便快捷高效,随时随地满足患者的长期医疗需求。可以为基层医生解决技术缺陷、设备不足等难题;遇到病情紧急严重的还可以打开绿色就医通道进行转诊服务。
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="swiper">
|
||||
<view class="swiper">
|
||||
<swiper :indicator-dots="false" indicator-color='#fff' indicator-active-color='#0086d6' :autoplay="autoplay"
|
||||
:interval="2000" :duration="1000" class="swiper-box" :circular='true' @change="swiperChange">
|
||||
<swiper-item v-for="(item ,index) in swiperImgUrls" :key="index">
|
||||
@ -30,18 +19,18 @@
|
||||
<view class="hospital">
|
||||
<view class="appointmenthospital">预约医生</view>
|
||||
<view class="tabbar">
|
||||
<view class="lefttabbar">
|
||||
<view class="lefttabbar" @touchstart="start" @touchend="end" @touchmove="move">
|
||||
<view class="lefttabbarlist">
|
||||
<view v-for="(item,index) in hospitalDepartmentList" :key="index"
|
||||
:class="tabIndex==index?'actives':'active'" @tap='taptabindex(item,index)'>
|
||||
{{item.hospitalName}}
|
||||
{{item.departmentName}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="righttabbar">
|
||||
<view class="productlist">
|
||||
<view class="productlist" @touchstart="start" @touchend="end" @touchmove="move">
|
||||
<view class="content" v-for="(item,index) in HospitalPersonlist" :key="item.id">
|
||||
<image class="hospitalimage" src="/static/header .png" mode=""></image>
|
||||
<image class="hospitalimage" :src="baseurl+personPictureUrl" mode=""></image>
|
||||
<view class="hospitalteacher">{{item.personName}}</view>
|
||||
<view class="physician">
|
||||
{{ item.academicTitle=='CHIEF_PHYSICIAN'?'主任医师':''}}
|
||||
@ -52,14 +41,14 @@
|
||||
</view>
|
||||
<view class="words">{{item.personIntroduce}}
|
||||
</view>
|
||||
<view class="appointment" @tap="goappointment">
|
||||
<view class="appointment" @tap="goappointment(item)">
|
||||
预约
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
@ -72,38 +61,85 @@
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
baseurl: '',
|
||||
swiperImgUrls: [],
|
||||
autoplay: true, //自动切换轮播图
|
||||
hospitalDepartmentList: [], //科室
|
||||
hospitalDepartmenttotal: 0,
|
||||
HospitalPersonlist: [], //人员
|
||||
HospitalPersontotal: 0,
|
||||
tabIndex: 0,
|
||||
departmentId: null, //人员所属科室id
|
||||
DepartmentpageNum: 1,
|
||||
DepartmentpageSize: 100,
|
||||
personpageNum: 1,
|
||||
pageSize: 10,
|
||||
startData: {
|
||||
clientX: '',
|
||||
clientY: '',
|
||||
},
|
||||
touch: {},
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
move(event) { //@touchmove触摸移动
|
||||
let touch = event.touches[0]; //滑动过程中,手指滑动的坐标信息 返回的是Objcet对象
|
||||
this.touch = touch;
|
||||
},
|
||||
// 触摸touch事件
|
||||
start(e) { //@touchstart 触摸开始
|
||||
this.startData.pageY = e.changedTouches[0].pageY; //手指按下时的Y坐标
|
||||
},
|
||||
end(e) { //@touchend触摸结束
|
||||
if ((this.startData.pageY - this.touch.pageY) > 100) { //在事件结束时,判断滑动的距离是否达到出发需要执行事件的要求
|
||||
if (this.hospitalDepartmentList.length >= this.hospitalDepartmenttotal) {} else {
|
||||
this.DepartmentpageNum++;
|
||||
//科室
|
||||
selectDepartment(this.DepartmentpageNum, this.DepartmentpageSize).then(res => {
|
||||
res.rows.forEach(e => {
|
||||
this.hospitalDepartmentList.push(e)
|
||||
})
|
||||
})
|
||||
}
|
||||
if (this.HospitalPersonlist.length >= this.HospitalPersontotal) {} else {
|
||||
this.personpageNum++;
|
||||
//人员
|
||||
selectHospitalPerson(this.personpageNum, this.pageSize, this.departmentId).then(res => {
|
||||
res.rows.forEach(e => {
|
||||
this.HospitalPersonlist.push(e)
|
||||
})
|
||||
})
|
||||
}
|
||||
} else {
|
||||
// this.touch = {};
|
||||
}
|
||||
},
|
||||
//人员
|
||||
selectHospitalPersonInfo() {
|
||||
selectHospitalPerson(this.departmentId).then(res => {
|
||||
selectHospitalPerson(this.personpageNum, this.pageSize, this.departmentId).then(res => {
|
||||
this.HospitalPersonlist = res.rows
|
||||
this.HospitalPersontotal = res.total
|
||||
})
|
||||
},
|
||||
//tap科室
|
||||
taptabindex(item, index) {
|
||||
this.tabIndex = index
|
||||
if (this.departmentId != item.id) {
|
||||
this.departmentId = item.id
|
||||
if (this.departmentId != item.departmentId) {
|
||||
this.departmentId = item.departmentId
|
||||
this.selectHospitalPersonInfo();
|
||||
}
|
||||
},
|
||||
//健康咨询科室
|
||||
selectDepartmentinfo() {
|
||||
selectDepartment().then(res => {
|
||||
this.hospitalDepartmentList = res.data.hospitalDepartmentList
|
||||
res.data.poserInfoList.forEach(e => {
|
||||
this.swiperImgUrls = []
|
||||
selectDepartment(this.DepartmentpageNum, this.DepartmentpageSize).then(res => {
|
||||
this.hospitalDepartmentList = res.rows
|
||||
this.hospitalDepartmenttotal = res.total
|
||||
res.rows[0].poserInfoList.forEach(e => {
|
||||
e.image = baseurl + e.posterPictureUrl
|
||||
this.swiperImgUrls.push(e.image)
|
||||
})
|
||||
this.departmentId = this.hospitalDepartmentList[0].id
|
||||
this.departmentId = this.hospitalDepartmentList[0].departmentId
|
||||
this.selectHospitalPersonInfo();
|
||||
})
|
||||
},
|
||||
@ -142,21 +178,17 @@
|
||||
ended() {
|
||||
this.autoplay = true
|
||||
},
|
||||
goappointment() {
|
||||
uni.navigateTo({
|
||||
url: '/pages/Informationconfirmation/Informationconfirmation'
|
||||
})
|
||||
},
|
||||
// 跳转预约医生界面
|
||||
godoctorslist() {
|
||||
// uni.navigateTo({
|
||||
// url: '/pages/doctorslist/doctorslist'
|
||||
// })
|
||||
goappointment(item) {
|
||||
uni.navigateTo({
|
||||
url: `/pages/Informationconfirmation/Informationconfirmation?price=${item.consultingFee}&hospitalPersonId=${item.id}`
|
||||
})
|
||||
},
|
||||
},
|
||||
onLoad() {
|
||||
this.pageNum = 1
|
||||
this.baseurl = baseurl
|
||||
// this.selectDepartmentinfo()
|
||||
this.selectDepartmentinfo()
|
||||
},
|
||||
//1.分享给朋友
|
||||
onShareAppMessage(res) {
|
||||
@ -180,43 +212,5 @@
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
// @import "./medicine.scss";
|
||||
.concent {
|
||||
width: 701rpx;
|
||||
height: 100%;
|
||||
background: #4C7BC9;
|
||||
box-shadow: 0px 9rpx 31rpx 9rpx rgba(0, 0, 0, 0.03);
|
||||
border-radius: 20rpx;
|
||||
margin: 5% auto 20px;
|
||||
padding: 30rpx 0;
|
||||
|
||||
.background {
|
||||
position: relative;
|
||||
width: 657rpx;
|
||||
height: 100%;
|
||||
background: #FFFFFF;
|
||||
border-radius: 25rpx;
|
||||
background-color: white;
|
||||
margin: 0 auto;
|
||||
|
||||
.detailed {
|
||||
width: 657rpx;
|
||||
height: 100%;
|
||||
padding: 0 42rpx 20rpx;
|
||||
line-height: 56rpx;
|
||||
}
|
||||
|
||||
.detailed view {
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
image {
|
||||
width: 178rpx;
|
||||
height: 160rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 25px;
|
||||
margin-left: 68%;
|
||||
}
|
||||
}
|
||||
}
|
||||
@import "./medicine.scss";
|
||||
</style>
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 19 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 119 KiB |
Loading…
Reference in New Issue
Block a user