4.12更新
This commit is contained in:
parent
17c32e24bf
commit
aa2231f256
19
api/health.js
Normal file
19
api/health.js
Normal file
@ -0,0 +1,19 @@
|
||||
import {request} from '../utils/request.js'
|
||||
function getItems(id){ //获取地址
|
||||
return request('/doctor/inquiry/service/follow/item/'+id,'GET',{},true)
|
||||
};
|
||||
function getServiceDetail(data){
|
||||
return request('/patient/service/detail','GET',data,true)
|
||||
}
|
||||
function createServiceOrder(data){
|
||||
return request('/patient/service','POST',data,true)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
module.exports={
|
||||
getItems,
|
||||
getServiceDetail,
|
||||
createServiceOrder
|
||||
}
|
||||
4
app.json
4
app.json
@ -95,7 +95,9 @@
|
||||
"pages/healthyDetail/healthyDetail",
|
||||
"pages/visitDetail/visitDetail",
|
||||
"pages/healthyOrder/healthyOrder",
|
||||
"pages/healthyOrderDetail/healthyOrderDetail"
|
||||
"pages/healthyOrderDetail/healthyOrderDetail",
|
||||
"pages/writeSick/writeSick",
|
||||
"pages/visitList/visitList"
|
||||
],
|
||||
"independent": true
|
||||
}
|
||||
|
||||
@ -26,7 +26,7 @@ Component({
|
||||
},
|
||||
goInquirtForm(){
|
||||
wx.navigateTo({
|
||||
url: '/healthyService/pages/healthyIntro/healthyIntro',
|
||||
url: '/healthyService/pages/visitList/visitList',
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
@ -202,7 +202,21 @@ function hasTuWen(arr){
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
function formatHealthPrcice(arr){
|
||||
var price=null;
|
||||
if(arr){
|
||||
for (var i = 0; i < arr.length; i++) {
|
||||
if(arr[i].inquiry_type==1 && arr[i].inquiry_mode==8){
|
||||
return arr[i].inquiry_price;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
return price
|
||||
};
|
||||
module.exports = {
|
||||
formatHealthPrcice:formatHealthPrcice,
|
||||
formatwenzhenList:formatwenzhenList,
|
||||
formatChufang:formatChufang,
|
||||
formatPrice:formatPrice,
|
||||
|
||||
@ -1,4 +1,7 @@
|
||||
// healthyService/pages/healthyDetail/healthyDetail.js
|
||||
import {doctorDetail} from "../../../api/consultExpert"
|
||||
import {family,addfamily} from "../../../api/familyDoc";
|
||||
import {getServiceDetail,getItems} from "../../../api/health"
|
||||
import {throttle} from "../../../utils/util"
|
||||
const app = getApp()
|
||||
Page({
|
||||
@ -7,14 +10,277 @@ Page({
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
img_host:app.hostConfig().imghost
|
||||
active:0,
|
||||
img_host:app.hostConfig().imghost,
|
||||
doctor_id:'',
|
||||
currentData:0,
|
||||
inquiry_mode:8,
|
||||
inquiry_type:1,
|
||||
current_price:'',
|
||||
avatar: '',
|
||||
user_name: '',
|
||||
doctor_title: '',
|
||||
doctor_id: '',
|
||||
doctor_title_name:'',
|
||||
user_id:'',
|
||||
is_online:'0',
|
||||
hospital: null,
|
||||
priceList:[],
|
||||
show:false,
|
||||
currentFamilyId:'',
|
||||
realName:'',
|
||||
idCard:'',
|
||||
phoneNumber:'',
|
||||
relationId:'',
|
||||
sex:'',
|
||||
service_type:1,
|
||||
chat_id:'',
|
||||
},
|
||||
|
||||
inputChange(e) {
|
||||
this.setData({
|
||||
[e.target.dataset.id]: e.detail.value
|
||||
})
|
||||
},
|
||||
goNext:throttle(function() {
|
||||
this.handleGetServiceDetail();
|
||||
|
||||
}),
|
||||
addFamily() {
|
||||
let {
|
||||
realName,
|
||||
idCard,
|
||||
phoneNumber,
|
||||
relationId,
|
||||
sex
|
||||
} = this.data;
|
||||
addfamily({
|
||||
card_name: realName,
|
||||
type: 1,
|
||||
id_number: idCard,
|
||||
mobile: phoneNumber,
|
||||
is_default: 0,
|
||||
relation: relationId
|
||||
}).then((data) => {
|
||||
this.getFamily();
|
||||
this.setData({
|
||||
currentFamilyId:data.family_id,
|
||||
realName:'',
|
||||
idCard:'',
|
||||
phoneNumber:'',
|
||||
relationId:'',
|
||||
relation:'',
|
||||
showAdd:false
|
||||
})
|
||||
|
||||
})
|
||||
},
|
||||
showPatient(){
|
||||
this.setData({
|
||||
show:true
|
||||
})
|
||||
},
|
||||
addPatient() {
|
||||
this.setData({
|
||||
showAdd: true,
|
||||
currentFamilyId: '',
|
||||
sex: ''
|
||||
})
|
||||
},
|
||||
selectPatient(e) {
|
||||
let currentFamilyId=e.currentTarget.dataset.familyid;
|
||||
let sex=e.currentTarget.dataset.sex;
|
||||
let name=e.currentTarget.dataset.name;
|
||||
let age=e.currentTarget.dataset.age;
|
||||
this.setData({
|
||||
currentFamilyId:currentFamilyId,
|
||||
sex:sex
|
||||
})
|
||||
},
|
||||
transforpage(arr) {
|
||||
const pages = []
|
||||
let newArr = arr.concat([{
|
||||
type: "add"
|
||||
}])
|
||||
newArr.forEach((item, index) => {
|
||||
const page = Math.floor(index / 2)
|
||||
if (!pages[page]) {
|
||||
pages[page] = []
|
||||
}
|
||||
pages[page].push(item)
|
||||
});
|
||||
return pages
|
||||
},
|
||||
confirmNext() {
|
||||
if (!/^[\u4e00-\u9fa5]+(·[\u4e00-\u9fa5]+)*$/.test(this.data.realName)) {
|
||||
wx.showToast({
|
||||
title: `姓名要求在2-10个字符`,
|
||||
icon: 'none',
|
||||
});
|
||||
return false;
|
||||
};
|
||||
if (!/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(this.data.idCard)) {
|
||||
wx.showToast({
|
||||
title: `请输入有效的身份证号`,
|
||||
icon: 'none',
|
||||
});
|
||||
return false;
|
||||
};
|
||||
|
||||
if (!/^1[3456789]\d{9}$/.test(this.data.phoneNumber)) {
|
||||
wx.showToast({
|
||||
title: `请输入有效的手机号码!`,
|
||||
icon: 'none',
|
||||
});
|
||||
return false;
|
||||
}
|
||||
},
|
||||
getFamily() {
|
||||
family().then((data) => {
|
||||
this.setData({
|
||||
family: this.transforpage(data)
|
||||
})
|
||||
})
|
||||
},
|
||||
goSick:throttle(function() {
|
||||
if (!/^([\u4e00-\u9fa5\·]{2,10})$/.test(this.data.realName)) {
|
||||
wx.showToast({
|
||||
title: `姓名要求在2-10个汉字`,
|
||||
icon: 'none',
|
||||
});
|
||||
return false;
|
||||
};
|
||||
if (!/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(this.data.idCard)) {
|
||||
wx.showToast({
|
||||
title: `请输入有效的身份证号`,
|
||||
icon: 'none',
|
||||
});
|
||||
return false;
|
||||
};
|
||||
if (this.data.phoneNumber) {
|
||||
if (!/^1[3456789]\d{9}$/.test(this.data.phoneNumber)) {
|
||||
wx.showToast({
|
||||
title: `请输入有效的手机号码!`,
|
||||
icon: 'none',
|
||||
});
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
let idInfo = this.getIdInfo(this.data.idCard);
|
||||
if (idInfo.age < 6) {
|
||||
wx.showToast({
|
||||
title: `六岁以下儿童不支持线上问诊`,
|
||||
icon: 'none',
|
||||
});
|
||||
return false;
|
||||
}
|
||||
this.setData({
|
||||
sex:idInfo.sex
|
||||
})
|
||||
this.addFamily()
|
||||
|
||||
}),
|
||||
//获取身份证号信息
|
||||
getIdInfo(IdCard) {
|
||||
var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
|
||||
if (reg.test(IdCard)) {
|
||||
let sex
|
||||
if (parseInt(IdCard.substr(16, 1)) % 2 === 1) {
|
||||
sex = '1'
|
||||
} else {
|
||||
sex = '2'
|
||||
}
|
||||
var ageDate = new Date()
|
||||
var month = ageDate.getMonth() + 1
|
||||
var day = ageDate.getDate()
|
||||
var age = ageDate.getFullYear() - IdCard.substring(6, 10) - 1
|
||||
if (IdCard.substring(10, 12) < month || (IdCard.substring(10, 12) === month && IdCard.substring(12, 14) <= day)) {
|
||||
age++
|
||||
}
|
||||
if (age <= 0) {
|
||||
age = 1
|
||||
}
|
||||
return {
|
||||
sex,
|
||||
age
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
onClose() {
|
||||
this.setData({
|
||||
show: false
|
||||
});
|
||||
},
|
||||
onCloseAdd() {
|
||||
this.setData({
|
||||
showAdd: false
|
||||
});
|
||||
},
|
||||
|
||||
getDeatil(id) {
|
||||
doctorDetail(id).then((res) => {
|
||||
for (const key in this.data) {
|
||||
if (res[key]) {
|
||||
this.setData({
|
||||
[key]: res[key]
|
||||
})
|
||||
}
|
||||
};
|
||||
this.setData({
|
||||
chat_id:res.user_id
|
||||
})
|
||||
})
|
||||
},
|
||||
handleGetServiceDetail(){
|
||||
let {doctor_id,currentFamilyId,service_type,follow_package_item_id,chat_id,sex,inquiry_mode,inquiry_type}=this.data;
|
||||
getServiceDetail({
|
||||
doctor_id,
|
||||
family_id:currentFamilyId,
|
||||
service_type,
|
||||
follow_package_item_id
|
||||
|
||||
}).then((res)=>{
|
||||
if(res.status==1){
|
||||
app.method.navigateTo({
|
||||
url:'/healthyService/pages/writeSick/writeSick?doctor_id='+doctor_id+"&family_id="+currentFamilyId+"&chat_id="+chat_id+"&inquiry_type="+inquiry_type+"&sex="+sex+"&inquiry_mode="+inquiry_mode+"&package_id="+follow_package_item_id
|
||||
})
|
||||
}else if(res.status==2){
|
||||
|
||||
}else if(res.status==3){
|
||||
app.method.navigateTo({
|
||||
url:'/patient/pages/expertDetail/expertDetail?doctor_id='+doctor_id
|
||||
})
|
||||
|
||||
}else if(res.status==4){
|
||||
|
||||
}else if(res.status==5){
|
||||
|
||||
}
|
||||
|
||||
})
|
||||
},
|
||||
showPatient(){
|
||||
this.setData({
|
||||
show:true
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(options) {
|
||||
|
||||
this.setData({
|
||||
doctor_id:options.doctor_id,
|
||||
current_price:options.price
|
||||
})
|
||||
|
||||
this.getDeatil(options.doctor_id);
|
||||
|
||||
this.getFamily();
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
{
|
||||
"usingComponents": {
|
||||
"nav":"../../../components/nav/nav"
|
||||
"nav":"../../../components/nav/nav",
|
||||
"van-popup": "@vant/weapp/popup/index",
|
||||
"van-picker": "@vant/weapp/picker/index"
|
||||
},
|
||||
"navigationStyle":"custom"
|
||||
}
|
||||
@ -2,6 +2,24 @@
|
||||
<nav navName="健康包服务详情"></nav>
|
||||
<view class="page">
|
||||
<image src="{{img_host+'/mybg.png'}}" mode="widthFix" class="dcimg" lazy-load/>
|
||||
<view class="viewcell" >
|
||||
<view class="left">
|
||||
<image src="{{avatar}}" wx:if="{{avatar}}" mode="aspectFill" class="headimg"></image>
|
||||
<image src="{{img_host+'/doctor_avatar.png'}}" class="headimg" wx:else></image>
|
||||
<view class="onlinebox" wx:if="{{user.is_online==1}}">
|
||||
<image src="{{img_host+'/online.gif'}}" mode="" class="icon"/>
|
||||
</view>
|
||||
</view>
|
||||
<view class="right">
|
||||
<view class="namebox">
|
||||
<view class="name">{{user_name}}</view>
|
||||
<view class="type" wx:if="{{hospital.hospital_level_name != '未知'&& hospital.hospital_level_name}}">{{hospital.hospital_level_name}}</view>
|
||||
<view class="type" wx:if="{{multi_point_status == 1 && multi_point_enable==1}}">可处方</view>
|
||||
</view>
|
||||
<view class="hospital"><text class="hospital_name" wx:if="{{doctor_title_name}}">{{doctor_title_name}}</text> <text wx:if="{{item.department_custom_name}}">{{item.department_custom_name}}</text></view>
|
||||
<view class="hospital"><text class="hospital_name" >{{hospital.hospital_name}}</text></view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="detailbox">
|
||||
<view class="quanyi">
|
||||
<image src="../../static/images/quanyi.png" class="quanyiImg"/>
|
||||
@ -62,6 +80,76 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="buttonbox">
|
||||
<view class="btn">立即购买:¥XX.XX</view>
|
||||
<view class="btn" bind:tap="showPatient">立即购买:¥{{current_price}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<van-popup show="{{ show }}" bind:close="onClose" closeable
|
||||
position="bottom" round
|
||||
custom-style="min-height: 60%">
|
||||
<view class="titlepop">选择患者</view>
|
||||
<view class="personbox">
|
||||
<view class="row" wx:for-item="itemName" wx:for="{{family}}" wx:key="*this">
|
||||
<view class="cell" wx:for-item="item" wx:for="{{itemName}}" wx:key="family_id">
|
||||
<view class="cellinner" wx:if="{{!item.type}}" bindtap="selectPatient" data-familyId="{{item.family_id}}" data-sex="{{item.sex}}">
|
||||
<view class="person">
|
||||
<view class="name">{{item.card_name}}</view>
|
||||
<view class="tag" wx:if="{{item.relation==1}}">本人</view>
|
||||
<view class="tag" wx:elif="{{item.relation==2}}">父母</view>
|
||||
<view class="tag" wx:elif="{{item.relation==3}}">爱人</view>
|
||||
<view class="tag" wx:elif="{{item.relation==4}}">子女</view>
|
||||
<view class="tag" wx:elif="{{item.relation==5}}">亲戚</view>
|
||||
<view class="tag" wx:elif="{{item.relation==6}}">其他</view>
|
||||
</view>
|
||||
<view class="desc">
|
||||
<view class="sex" wx:if="{{item.sex===0}}">性别未知</view>
|
||||
<view class="sex" wx:elif="{{item.sex==1}}">男</view>
|
||||
<view class="sex" wx:else>女</view>
|
||||
<view class="age">{{item.age}}岁</view>
|
||||
</view>
|
||||
<image src="{{img_host+'/gou.png'}}" class="gou" wx:if="{{item.family_id==currentFamilyId}}"></image>
|
||||
</view>
|
||||
<view class="celladd" bindtap="addPatient" wx:elif="{{item.type}}">
|
||||
+新建患者
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<view class="btnbox">
|
||||
<button class="btn" plain="true" disabled="{{currentFamilyId?false:true}}" bindtap="goNext">下一步</button>
|
||||
</view>
|
||||
</van-popup>
|
||||
<van-popup show="{{showAdd}}" round closeable z-index="999" position="bottom" custom-style="height:{{height}}rpx" bind:close="onCloseAdd">
|
||||
<view class="infobox">
|
||||
<view class="title">新建患者</view>
|
||||
<view class="info">
|
||||
<view class="name">真实姓名<text>*</text></view>
|
||||
<input value="{{realName}}" type="text" bindinput="inputChange" placeholder="请输入真实姓名" data-id="realName"/>
|
||||
</view>
|
||||
<view class="info">
|
||||
<view class="name">身份证号<text>*</text></view>
|
||||
<input value="{{idCard}}" type="idcard" bindinput="inputChange" placeholder="请输入真实身份证号" data-id="idCard"/>
|
||||
</view>
|
||||
<view class="info">
|
||||
<view class="name">联系电话</view>
|
||||
<input value="{{phoneNumber}}" type="number" bindblur="onblur" bindfocus="onfocus" cursor-spacing="100" bindinput="inputChange" bindinput="inputChange" placeholder="请输入联系电话" data-id="phoneNumber"/>
|
||||
</view>
|
||||
<view class="info" bindtap="openPicker">
|
||||
<view class="name">患者关系</view>
|
||||
<input type="text" value="{{relation}}" placeholder="请选择与患者的关系" disabled="true" />
|
||||
</view>
|
||||
<view class="tip">
|
||||
<view class="warntitle">温馨提示:</view>
|
||||
<view class="warn">
|
||||
<view>1、根据国家卫健委要求,就医实行实名制,请如实填写患者信息。</view>
|
||||
<view>2、信息受隐私保护,仅接诊医生可见。
|
||||
</view>
|
||||
<view>3、6岁以下儿童不支持线上问诊,请到线下就诊。
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="next" bindtap="goSick">
|
||||
确定
|
||||
</view>
|
||||
</view>
|
||||
</van-popup>
|
||||
@ -23,7 +23,7 @@ page{
|
||||
flex:1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin-top: 200rpx;
|
||||
margin:0rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 32rpx 32rpx 0rpx 0rpx;
|
||||
}
|
||||
@ -85,4 +85,273 @@ align-items: center;
|
||||
justify-content: center;
|
||||
line-height: 50rpx;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
.viewcell{
|
||||
display: flex;
|
||||
background-color: #fff;
|
||||
margin:30rpx;
|
||||
padding:20rpx;
|
||||
box-shadow: 0rpx 8rpx 20rpx 2rpx rgba(0,0,0,0.04);
|
||||
border-radius: 10rpx;
|
||||
|
||||
}
|
||||
.headimg{
|
||||
width:120rpx;
|
||||
height:120rpx;
|
||||
border-radius: 50%;
|
||||
}
|
||||
.viewcell .type{
|
||||
height: 32rpx;
|
||||
margin-bottom: 6rpx;
|
||||
line-height: 32rpx;
|
||||
display: flex;
|
||||
white-space: nowrap;
|
||||
align-items: center;
|
||||
margin-left: 18rpx;
|
||||
padding:0rpx 6rpx;
|
||||
background: #ED9C00;
|
||||
border-radius: 4rpx;
|
||||
color: #FFFFFF;
|
||||
font-size: 24rpx;
|
||||
}
|
||||
.viewcellbox .hospital{
|
||||
margin-top: 12rpx;
|
||||
color: #333333;
|
||||
display: flex;
|
||||
font-size: 30rpx;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.hospital_name{
|
||||
font-size: 28rpx;
|
||||
word-wrap: break-word;
|
||||
margin-right: 10rpx;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
color:#333;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.viewcell .right{
|
||||
flex:1;
|
||||
margin-left: 20rpx;
|
||||
}
|
||||
.namebox{
|
||||
display: flex;
|
||||
font-size: 34rpx;
|
||||
font-weight: 600;
|
||||
color:#333;
|
||||
align-items: flex-end;
|
||||
}
|
||||
.personbox {
|
||||
border-radius: 10rpx;
|
||||
background-color: #fff;
|
||||
padding: 40rpx 20rpx 144rpx;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
.personbox .row {
|
||||
margin-top: 30rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
}
|
||||
|
||||
.personbox .row:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.personbox .row .cell {
|
||||
position: relative;
|
||||
width: 47%;
|
||||
height: 120rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
margin-left: 30rpx;
|
||||
border-radius: 10rpx;
|
||||
border: 1px solid #CCCCCC;
|
||||
}
|
||||
|
||||
.personbox .row .cell:first-child {
|
||||
margin-left: 0rpx;
|
||||
}
|
||||
|
||||
.personbox .person {
|
||||
display: flex;
|
||||
margin: 0 25rpx;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.personbox .tag {
|
||||
margin-left: 32rpx;
|
||||
font-size: 24rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
line-height: 24rpx;
|
||||
justify-content: center;
|
||||
color: #666666;
|
||||
width: 80rpx;
|
||||
height: 32rpx;
|
||||
border-radius: 4rpx;
|
||||
transform: rotateZ(360deg);
|
||||
border: 1rpx solid #979797;
|
||||
}
|
||||
|
||||
.personbox .desc {
|
||||
display: flex;
|
||||
margin: 0 25rpx;
|
||||
font-size: 28rpx;
|
||||
color: #666;
|
||||
margin-top: 3px;
|
||||
}
|
||||
|
||||
.personbox .name {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
max-width: 200rpx;
|
||||
text-overflow: ellipsis;
|
||||
font-size: 34rpx;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.personbox .age {
|
||||
|
||||
margin-left: 12rpx;
|
||||
}
|
||||
|
||||
.personbox .cell .gou {
|
||||
position: absolute;
|
||||
bottom: -1rpx;
|
||||
right: 0rpx;
|
||||
width: 66rpx;
|
||||
height: 53.7rpx;
|
||||
}
|
||||
|
||||
.personbox .add {
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-size: 34rpx;
|
||||
color: #333;
|
||||
}
|
||||
.own .add.disabled{
|
||||
color: #999;
|
||||
}
|
||||
.titlepop{
|
||||
font-size: 34rpx;
|
||||
font-weight: 400;
|
||||
color: #333333;
|
||||
padding:40rpx 0;
|
||||
text-align: center;
|
||||
width:100%;
|
||||
border-bottom:1rpx solid #E7E7E7;
|
||||
}
|
||||
|
||||
.van-icon-cross {
|
||||
color: #333;
|
||||
font-size: 40rpx !important;
|
||||
}
|
||||
|
||||
.infobox {
|
||||
margin-top: 40rpx;
|
||||
}
|
||||
|
||||
.info {
|
||||
border-bottom: 1rpx solid #E7E7E7;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 112rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.infobox .title {
|
||||
border-bottom: 1rpx solid #E7E7E7;
|
||||
text-align: center;
|
||||
font-size: 34rpx;
|
||||
padding-bottom: 35rpx;
|
||||
}
|
||||
|
||||
.info .name {
|
||||
white-space: nowrap;
|
||||
width: 180rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-left: 52rpx;
|
||||
color: #333333;
|
||||
font-size: 34rpx;
|
||||
}
|
||||
|
||||
.info text {
|
||||
margin-top: 20rpx;
|
||||
color:#E34D59;
|
||||
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.info input {
|
||||
margin-left: 15rpx;
|
||||
margin-right: 52rpx;
|
||||
flex: 1;
|
||||
}
|
||||
.input-placeholder {
|
||||
color: #999999;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
.tip{
|
||||
padding:30rpx 52rpx 20rpx;
|
||||
}
|
||||
.warntitle{
|
||||
color: #E34D59;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
.warn{
|
||||
margin-top: 20rpx;
|
||||
font-size: 24rpx;
|
||||
line-height: 36rpx;
|
||||
color: #666666;
|
||||
}
|
||||
.next{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 94rpx;
|
||||
font-size: 36rpx;
|
||||
left: 30rpx;
|
||||
right: 30rpx;
|
||||
margin:0 52rpx;
|
||||
border-radius: 47rpx;
|
||||
color: #fff;
|
||||
margin-bottom: 40rpx;
|
||||
background: #3CC7C0;
|
||||
}
|
||||
.celladd{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 120rpx;
|
||||
}
|
||||
.btnbox{
|
||||
position: fixed;
|
||||
width:100%;
|
||||
bottom:0rpx;
|
||||
height: 134rpx;
|
||||
background:#fff;
|
||||
|
||||
|
||||
}
|
||||
.btnbox .btn{
|
||||
border-radius: 47rpx;
|
||||
border:none;
|
||||
background: #3CC7C0!important;
|
||||
margin:0 32rpx;
|
||||
height: 94rpx;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-size: 36rpx;
|
||||
color: #FFFFFF!important;
|
||||
}
|
||||
.btnbox .btn[disabled]{
|
||||
color: #000000!important;
|
||||
background:rgba(0,0,0,0.1)!important;
|
||||
}
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
// healthyService/pages/healthyIntro/healthyIntro.js
|
||||
import {throttle} from "../../../utils/util"
|
||||
import {doctorList} from "../../../api/consultExpert"
|
||||
const app = getApp()
|
||||
Page({
|
||||
|
||||
@ -7,12 +8,107 @@ Page({
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
blockHeight:"150rpx"
|
||||
blockHeight:"150rpx",
|
||||
type:'',
|
||||
doctorList:[],
|
||||
page:1,
|
||||
pageNumber:10,
|
||||
isTriggered:false,
|
||||
show:false,
|
||||
expertise_id:'',
|
||||
province_id:'',
|
||||
city_id:'',
|
||||
keyword:'',
|
||||
lock:false,
|
||||
is_online:0,
|
||||
sort_order:1,
|
||||
inquiry_type:'1',
|
||||
inquiry_mode:'8',
|
||||
},
|
||||
goDetail:throttle(function(){
|
||||
app.method.navigateTo({
|
||||
url: '/healthyService/pages/visitDetail/visitDetail',
|
||||
//url: '/healthyService/pages/healthyDetail/healthyDetail',
|
||||
handleRefresher(){
|
||||
|
||||
this.setData({
|
||||
lock:false,
|
||||
page:1,
|
||||
doctorList:[]
|
||||
});
|
||||
this.getDoctorList()
|
||||
},
|
||||
goExpertDetail:throttle(function(e){
|
||||
let {doctorid,price}=e.currentTarget.dataset;
|
||||
if(price){
|
||||
app.method.navigateTo({
|
||||
url:'/healthyService/pages/healthyDetail/healthyDetail?doctor_id='+doctorid+"&price="+price
|
||||
})
|
||||
}
|
||||
else{
|
||||
app.method.navigateTo({
|
||||
url:'/healthyService/pages/healthyDetail/healthyDetail?doctor_id='+doctorid+"&price="+price
|
||||
})
|
||||
wx.showToast({
|
||||
title: '未设置健康包价格',
|
||||
icon:'none'
|
||||
})
|
||||
}
|
||||
|
||||
}),
|
||||
getDoctorList(){
|
||||
let {expertise_id,province_id, city_id,sort_order,keyword,page,pageNumber,is_online,inquiry_type,inquiry_mode}=this.data;
|
||||
doctorList({
|
||||
expertise_id:expertise_id,
|
||||
province_id:province_id,
|
||||
city_id:city_id,
|
||||
sort_order: sort_order,
|
||||
is_first_online:is_online,
|
||||
keyword:keyword,
|
||||
inquiry_type,
|
||||
inquiry_mode,
|
||||
page:page,
|
||||
per_page:pageNumber
|
||||
}).then((res)=>{
|
||||
let {doctorList}=this.data;
|
||||
if(res.data.length==0){
|
||||
this.setData({
|
||||
lock:true,
|
||||
isTriggered:false
|
||||
});
|
||||
return false;
|
||||
}else{
|
||||
this.setData({
|
||||
isTriggered:false,
|
||||
doctorList:doctorList.concat(res.data)
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
})
|
||||
},
|
||||
onfresh(){
|
||||
this.setData({
|
||||
page:1,
|
||||
doctorList:[],
|
||||
lock:false
|
||||
})
|
||||
this.getDoctorList();
|
||||
},
|
||||
lower(e) {
|
||||
let {lock}=this.data;
|
||||
let addPage=this.data.page+1;
|
||||
if(!lock){
|
||||
this.setData({
|
||||
page:addPage
|
||||
});
|
||||
this.getDoctorList();
|
||||
}
|
||||
},
|
||||
goAgree(){
|
||||
this.setData({
|
||||
showRight:flase
|
||||
})
|
||||
},
|
||||
lookGood:throttle(function(){
|
||||
this.setData({
|
||||
showRight:true
|
||||
})
|
||||
}),
|
||||
// 显示遮罩层
|
||||
@ -27,7 +123,7 @@ showModal() {
|
||||
|
||||
this.setData({
|
||||
hideModal: false,
|
||||
blockHeight:"300rpx"
|
||||
blockHeight:"150rpx"
|
||||
})
|
||||
},
|
||||
touchstart(e) {
|
||||
@ -69,7 +165,12 @@ showModal() {
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(options) {
|
||||
|
||||
if(options.type){
|
||||
this.setData({
|
||||
type:'visit'
|
||||
})
|
||||
}
|
||||
this.getDoctorList();
|
||||
},
|
||||
|
||||
/**
|
||||
|
||||
@ -1,7 +1,8 @@
|
||||
{
|
||||
"usingComponents": {
|
||||
"nav":"../../../components/nav/nav",
|
||||
"van-popup": "@vant/weapp/popup/index"
|
||||
"van-popup": "@vant/weapp/popup/index",
|
||||
"van-dialog": "@vant/weapp/dialog/index"
|
||||
},
|
||||
"navigationStyle":"custom"
|
||||
}
|
||||
@ -1,9 +1,14 @@
|
||||
<nav navName="肝胆相照"></nav>
|
||||
<nav navName="健康包服务医生"></nav>
|
||||
<wxs src="../../../filters/filter.wxs" module="moduleFilter"></wxs>
|
||||
|
||||
<view class="page">
|
||||
<image src="../../static/images/healthy_bg.jpg" class="bg" mode="widthFix"/>
|
||||
<image src="../../static/images/healthy_button.png" class="btn" bind:tap="goDetail"/>
|
||||
<view class="imgbox">
|
||||
<image src="../../static/images/healthy_bg.jpg" class="bg" mode="widthFix"/>
|
||||
<image src="../../static/images/healthy_button.png" class="btn" bind:tap="lookGood"/>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<van-popup class="mypop" id="mypop" show="{{true}}" position="bottom" overlay="{{blockHeight=='1130rpx'?true:false}}" duration="500" z-index="9999" custom-style=" border-radius:8rpx;transition: height 0.5s;height:{{blockHeight}}" bind:close="onClose">
|
||||
<van-popup class="mypop" id="mypop" show="{{true}}" lock-scroll="{{true}}" position="bottom" overlay="{{blockHeight=='1130rpx'?true:false}}" duration="500" z-index="9999" custom-style=" border-radius:8rpx;transition: height 0.5s;height:{{blockHeight}}" bind:close="onClose">
|
||||
<view class="popwrper" id="popwrper" bindtouchstart="touchstart" bindtouchend="touchend" style="height:{{blockHeight}}" >
|
||||
<view class="top">
|
||||
<image src="../../static/images/up.png" class="up {{blockHeight=='1130rpx'?'active':''}}"></image>
|
||||
@ -11,6 +16,73 @@
|
||||
<view class="popname">
|
||||
健康包服务医生
|
||||
</view>
|
||||
<view class="scrollwraper">
|
||||
<scroll-view scroll-y style="width: 100%;height:100%" bindrefresherrefresh="handleRefresher" refresher-triggered="{{isTriggered}}" refresher-threshold="100" refresher-enabled="true" bindscrolltolower="lower" id="scroller" bounces="false">
|
||||
<view wx:if="{{doctorList.length>0}}">
|
||||
<view class="viewcell" bindtap="goExpertDetail" wx:for="{{doctorList}}" wx:key="doctor_id" data-doctorid="{{item.doctor_id}}" data-price="{{moduleFilter.formatHealthPrcice(item.doctor_inquiry_config)}}">
|
||||
<view class="left">
|
||||
|
||||
<image src="{{item.avatar}}" wx:if="{{item.avatar}}" mode="aspectFill"></image>
|
||||
<image src="{{img_host+'/doctor_avatar.png'}}" wx:else></image>
|
||||
<view class="onlinebox" wx:if="{{item.user.is_online==1}}">
|
||||
<image src="{{img_host+'/online.gif'}}" mode="" class="icon"/>
|
||||
</view>
|
||||
</view>
|
||||
<view class="right">
|
||||
<view class="namebox">
|
||||
<view class="name">{{item.user_name}}</view>
|
||||
<!-- <view class="position" >{{item.doctor_title_name}}</view> -->
|
||||
<view class="type" wx:if="{{item.hospital.hospital_level_name != '未知'&& item.hospital.hospital_level_name}}">{{item.hospital.hospital_level_name}}</view>
|
||||
<view class="type" wx:if="{{item.multi_point_status == 1 && item.multi_point_enable==1}}">可处方</view>
|
||||
</view>
|
||||
<view class="hospital"><text class="hospital_name" wx:if="{{item.doctor_title_name}}">{{item.doctor_title_name}}</text> <text wx:if="{{item.department_custom_name}}">{{item.department_custom_name}}</text></view>
|
||||
<view class="hospital"><text class="hospital_name" >{{item.hospital.hospital_name}}</text></view>
|
||||
<view class="goodjob" wx:if="{{item.be_good_at}}">擅长:{{item.be_good_at}}</view>
|
||||
<view class="diseaseType" wx:for="{{item.doctor_expertise}}" wx:for-item="cell" wx:key="index">{{cell.expertise_name}}</view>
|
||||
<view class="detail" wx:if="{{item.is_display_score}}">
|
||||
<view>评分: <text wx:if="{{item.praise_rate>0}}">{{item.praise_rate}} </text><text wx:else>暂无</text></view>
|
||||
<view>问诊量: <text wx:if="{{item.served_patients_num>0}}">{{item.served_patients_num}}</text><text wx:else>暂无</text></view>
|
||||
<view>平均回复: <text wx:if="{{item.avg_response_time>0}}"> {{moduleFilter.formatReply(item.avg_response_time)}}h</text><text wx:else>暂无</text></view>
|
||||
</view>
|
||||
<view class="consultbox">
|
||||
<view class="price" wx:for="{{item.doctor_inquiry_config}}" wx:for-item="itemName" wx:if="{{itemName.inquiry_type==1 && itemName.inquiry_mode==8 && itemName.inquiry_price}}">
|
||||
<view class="pricecell">健康包:<text>¥{{itemName.inquiry_price}}</text>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="nonedata" wx:else>暂无数据!</view>
|
||||
<!-- <view class="viewcell">
|
||||
<view class="left">
|
||||
<image src="https://img.applets.igandanyiyuan.com/applet/patient/static/home.png"></image>
|
||||
</view>
|
||||
<view class="right">
|
||||
<view class="namebox">
|
||||
<view class="name">魏胜昭</view>
|
||||
<view class="position"> 教授</view>
|
||||
<view class="type">三甲</view>
|
||||
<view class="type">可处方</view>
|
||||
</view>
|
||||
<view class="hospital">首都医科大学佑安医院 <text decode="true"> 耳鼻科</text></view>
|
||||
<view class="goodjob">擅长:治疗耳鼻喉疑难病。比如: 人工关节置换、传导性耳聋、人工晶体植入、肾移···</view>
|
||||
<view class="diseaseType">中西医结合</view>
|
||||
<view class="detail">
|
||||
<view>好评率: <text>5 </text> </view>
|
||||
<view>服务患者数: <text>100</text></view>
|
||||
<view>平均回复: <text> 0.5h </text></view>
|
||||
</view>
|
||||
<view class="consultbox">
|
||||
<view class="price">公益问诊:<text>¥100</text></view>
|
||||
<view class="consult">立即咨询</view>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
</scroll-view>
|
||||
</view>
|
||||
<!-- <view class="infobox" style="margin-top: 32rpx;margin-bottom: 0rpx;padding-bottom: 0;">
|
||||
<view class="namebox" style="justify-content: flex-start;">
|
||||
<image src="{{doctorDetail.avatar}}" class="head" wx:if="{{doctorDetail.avatar}}" mode="aspectFill"></image>
|
||||
@ -36,4 +108,79 @@
|
||||
</view> -->
|
||||
|
||||
</view>
|
||||
</van-popup>
|
||||
</van-popup>
|
||||
<van-dialog
|
||||
use-slot
|
||||
class="mydailog"
|
||||
bind:confirm="goAgree"
|
||||
title="温馨提示"
|
||||
z-index="9999"
|
||||
theme='green'
|
||||
show="{{showRight}}"
|
||||
confirm-button-color="#3CC7C0"
|
||||
cancel-button-text="确定"
|
||||
>
|
||||
<view class="slotmsg">
|
||||
<view class="rowbox">
|
||||
<view class="rowtitle">服务内容:</view>
|
||||
<view class="row">
|
||||
<view class="rowleft">1、</view>
|
||||
<view class="rowright">每个月2次问诊</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="rowleft">2、</view>
|
||||
<view class="rowright">30盒肝爽颗粒(3g*9袋) (每次最多开具10盒)
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="rowbox">
|
||||
<view class="rowtitle">服务价格:</view>
|
||||
<view class="row">
|
||||
<view class="rowleft">1、</view>
|
||||
<view class="rowright">健康包价格低至1080元起,内所含每月两次问诊,费用低至5折;超出次数需按照原价支付问诊费;</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="rowleft">2、</view>
|
||||
<view class="rowright">健康包内包含30盒肝爽颗粒(3g*9袋),原价42.8元/盒,健康包内售价为35元/盒,超出30盒的可按38.5元/盒优惠价购买;
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="rowleft">3、</view>
|
||||
<view class="rowright">赠送全品类药品劵10元
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="rowleft">4、</view>
|
||||
<view class="rowright">
|
||||
<view class="desc">赠送肝胆相照商城优惠劵100元</view>
|
||||
<view class="tips">(药品总价满100元方可使用,不可与其他优惠劵叠加使用);</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="rowbox">
|
||||
<view class="rowtitle">退款说明:</view>
|
||||
<view class="row">
|
||||
<view class="rowleft">1、</view>
|
||||
<view class="rowright">未使用随时退; </view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="rowleft">2、</view>
|
||||
<view class="rowright">
|
||||
健康包开始使用后如需退款请联系客服,退款不收取任何服务费等额外费用,但不支持部分退款:
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="rowleft">3、</view>
|
||||
<view class="rowright">药品一经发出,问诊一经接诊,均概不退换;
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="rowleft">4、</view>
|
||||
<view class="rowright">未消费健康包内容可退款,已消费服务的部分按原价计费,即:已发生的问诊按照问诊时互联网医院显示的价格结算,肝爽颗粒按照原价每盒42.8元结算。
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</van-dialog>
|
||||
|
||||
@ -1,23 +1,33 @@
|
||||
/* healthyService/pages/healthyIntro/healthyIntro.wxss */
|
||||
.page{
|
||||
|
||||
margin-top: 172rpx;
|
||||
padding-bottom:100rpx;
|
||||
overflow-y: scroll;
|
||||
height: calc(100vh - 172rpx - 60rpx);
|
||||
position: relative;
|
||||
}
|
||||
.imgbox{
|
||||
position: relative;
|
||||
}
|
||||
page{
|
||||
height: 100vh;
|
||||
overflow: hidden;
|
||||
}
|
||||
.btn{
|
||||
position: absolute;
|
||||
|
||||
left: 50%;
|
||||
margin-left: -232rpx;
|
||||
width:464rpx;
|
||||
height: 86rpx;
|
||||
bottom:200rpx;
|
||||
bottom:130rpx;
|
||||
}
|
||||
.bg{
|
||||
width:100%;
|
||||
}
|
||||
.top{
|
||||
position: absolute;
|
||||
top:20rpx;
|
||||
top:10rpx;
|
||||
width:100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
@ -41,11 +51,349 @@
|
||||
.popwrper{
|
||||
top:0rpx;
|
||||
background-color: #fff;
|
||||
position: absolute;
|
||||
position: relative;
|
||||
transition: height 0.5s;
|
||||
width:100%;
|
||||
border-radius: 20rpx;
|
||||
overflow: hidden;
|
||||
height:100%;
|
||||
bottom:0px;
|
||||
}
|
||||
}
|
||||
.wraper{
|
||||
|
||||
height: 100%;
|
||||
}
|
||||
.containexpert{
|
||||
margin-top: 172rpx;
|
||||
padding: 0 30rpx 0rpx;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
transform: all 0.3s ease;
|
||||
}
|
||||
.droptitle,.van-ellipsis{
|
||||
font-size: 30rpx!important;
|
||||
}
|
||||
.namebox .name{
|
||||
max-width:400rpx;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.droptitle.active{
|
||||
color:#3CC7C0;
|
||||
}
|
||||
.searchbox {
|
||||
width: 100%;
|
||||
height: 72rpx;
|
||||
display: flex;
|
||||
border-radius: 40rpx;
|
||||
align-items: center;
|
||||
margin-top: 20rpx;
|
||||
background: #FBFBFB;
|
||||
border-radius: 36px;
|
||||
border: 1rpx solid #CCCCCC;
|
||||
}
|
||||
|
||||
.searchbox input {
|
||||
margin-left: 30rpx;
|
||||
flex: 1;
|
||||
font-size: 32rpx;
|
||||
height: 80rpx;
|
||||
}
|
||||
|
||||
.searchbox image {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
margin-right: 28rpx;
|
||||
}
|
||||
|
||||
.scroll-view_H {
|
||||
height:195rpx;
|
||||
white-space: nowrap;
|
||||
vertical-align: top;
|
||||
}
|
||||
.scroll-view-item_H{
|
||||
/* width: 154rpx; */
|
||||
padding:0 15rpx;
|
||||
background: #F4F4F4;
|
||||
border-radius: 30rpx;
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
margin-left: 36rpx;
|
||||
border: 1rpx solid #F4F4F4;
|
||||
height: 58rpx;
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
line-height: 58rpx;
|
||||
}
|
||||
|
||||
.page-section-spacing .row{
|
||||
margin-top: 40rpx;
|
||||
margin-bottom: 30rpx;
|
||||
}
|
||||
.page-section-spacing .row:last-child{
|
||||
margin-top: 30rpx;
|
||||
margin-bottom: 10rpx;
|
||||
}
|
||||
.scroll-view_H .scroll-view-item_H:first-child{
|
||||
margin-left: 0rpx;
|
||||
|
||||
}
|
||||
.scroll-view-item_H.active {
|
||||
background: #E2FFFE;
|
||||
color: #3CC7C0;
|
||||
border: 1rpx solid #3CC7C0;
|
||||
}
|
||||
.van-dropdown-menu{
|
||||
box-shadow: none!important;
|
||||
|
||||
}
|
||||
.viewcell{
|
||||
display: flex;
|
||||
overflow: hidden;
|
||||
box-sizing: border-box;
|
||||
padding:40rpx 30rpx 30rpx;
|
||||
width:100%;
|
||||
border-radius: 10rpx;
|
||||
background-color: #fff;
|
||||
border-bottom: 1rpx solid #E7E7E7;
|
||||
}
|
||||
.viewcell:last-child{
|
||||
border-bottom: none;
|
||||
}
|
||||
.viewcell .type{
|
||||
height: 32rpx;
|
||||
margin-bottom: 6rpx;
|
||||
line-height: 32rpx;
|
||||
display: flex;
|
||||
white-space: nowrap;
|
||||
align-items: center;
|
||||
margin-left: 18rpx;
|
||||
padding:0rpx 6rpx;
|
||||
background: #ED9C00;
|
||||
border-radius: 4rpx;
|
||||
color: #FFFFFF;
|
||||
font-size: 24rpx;
|
||||
}
|
||||
.viewcell .hospital{
|
||||
margin-top: 12rpx;
|
||||
color: #333333;
|
||||
display: flex;
|
||||
font-size: 30rpx;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.hospital_name{
|
||||
word-wrap: break-word;
|
||||
margin-right: 10rpx;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.goodjob{
|
||||
color: #666666;
|
||||
margin-top: 28rpx;
|
||||
line-height: 42rpx;
|
||||
font-size: 28rpx;
|
||||
word-break: break-all;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2; /* 这里是超出几行省略 */
|
||||
overflow: hidden;
|
||||
}
|
||||
.price{
|
||||
font-size: 28rpx;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.price text{
|
||||
margin-left: 5rpx;
|
||||
font-size: 32rpx;
|
||||
color:#EF4F20;
|
||||
}
|
||||
.viewcell .right{
|
||||
flex:1;
|
||||
margin-left: 20rpx;
|
||||
}
|
||||
.viewcell image{
|
||||
width:80rpx;
|
||||
height:80rpx;
|
||||
border-radius:50%;
|
||||
}
|
||||
.namebox{
|
||||
display: flex;
|
||||
font-size: 34rpx;
|
||||
font-weight: 600;
|
||||
color:#333;
|
||||
align-items: flex-end;
|
||||
}
|
||||
.namebox .position{
|
||||
font-weight: normal;
|
||||
margin-left: 15rpx;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
.dropOnline.active{
|
||||
color: #3CC7C0;
|
||||
}
|
||||
.diseaseType{
|
||||
height: 40rpx;
|
||||
background: #E2FFFE;
|
||||
border-radius: 20rpx;
|
||||
margin-right: 20rpx;
|
||||
border: 1rpx solid #3CC7C0;
|
||||
color: #3CC7C0;
|
||||
font-size: 24rpx;
|
||||
display: inline-flex;
|
||||
text-align: center;
|
||||
padding:0 15rpx;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-top: 20rpx;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.detail{
|
||||
margin-top: 20rpx;
|
||||
display: flex;
|
||||
font-size: 24rpx;
|
||||
}
|
||||
.detail view{
|
||||
margin-right:40rpx;
|
||||
}
|
||||
|
||||
.detail view text{
|
||||
font-size: 28rpx;
|
||||
color:#3CC7C0;
|
||||
}
|
||||
.consultbox{
|
||||
position: relative;
|
||||
|
||||
margin-top: 28rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.consult{
|
||||
height: 60rpx;
|
||||
background: #3CC7C0;
|
||||
border-radius: 30rpx;
|
||||
color: #FFFFFF;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding:0 20rpx;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
.wraper{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.scrollwraper{
|
||||
flex: 1;
|
||||
overflow-y: scroll;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
.dropdown{
|
||||
width:100%;
|
||||
position: relative;
|
||||
justify-content:center;
|
||||
align-items: center;
|
||||
border-bottom: 1rpx solid #E7E7E7;
|
||||
display: flex;
|
||||
}
|
||||
.dropdown .bar{
|
||||
|
||||
height:40rpx;
|
||||
width:1rpx;
|
||||
left: 50%;
|
||||
top:50%;
|
||||
transform: translate(-50%,-50%);
|
||||
position: absolute;
|
||||
background:#ccc;
|
||||
opacity: 0.9;
|
||||
}
|
||||
.dropbar{
|
||||
background:#ccc;
|
||||
opacity: 0.9;
|
||||
height:40rpx;
|
||||
width:1rpx;
|
||||
position: static;
|
||||
margin-top: 30rpx;
|
||||
}
|
||||
.dropOnline{
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width:33.33%;
|
||||
}
|
||||
.viewcell .left{
|
||||
position: relative;
|
||||
}
|
||||
.price .expert_prcie{
|
||||
text-decoration: line-through;
|
||||
color:#999;
|
||||
}
|
||||
.price .expert_prcie .priceactive{
|
||||
color:#999;
|
||||
}
|
||||
.pricecell{
|
||||
display: flex;
|
||||
font-size: 30rpx;
|
||||
align-items: center;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.videocell{
|
||||
position: absolute;
|
||||
right:0rpx;
|
||||
}
|
||||
.price.qs{
|
||||
display: none;
|
||||
}
|
||||
.price.gy,.price.hasfree{
|
||||
display: none;
|
||||
}
|
||||
.nonekaitong{
|
||||
position: absolute;
|
||||
top:0rpx;
|
||||
font-size: 30rpx;
|
||||
right:320rpx;
|
||||
}
|
||||
.nonekaitong text{
|
||||
font-size: 30rpx;
|
||||
}
|
||||
.popwrper{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.slotmsg{
|
||||
height:400rpx;
|
||||
overflow-y: scroll;
|
||||
padding:30rpx;
|
||||
}
|
||||
.row{
|
||||
display: flex;
|
||||
margin-bottom: 6rpx;
|
||||
line-height: 45rpx;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
}
|
||||
.rowtitle{
|
||||
margin-bottom:15rpx;
|
||||
font-weight: 500;
|
||||
font-size: 32rpx;
|
||||
color: #000000;
|
||||
|
||||
}
|
||||
.rowbox{
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
.row .tips{
|
||||
margin-top: 10rpx;
|
||||
display: flex;
|
||||
height: 113rpx;
|
||||
padding:0 18rpx;
|
||||
align-items: center;
|
||||
background: #F1F1F1;
|
||||
border-radius: 10rpx;
|
||||
}
|
||||
|
||||
@ -1,4 +1,8 @@
|
||||
// healthyService/pages/healthyDetail/healthyDetail.js
|
||||
import {doctorDetail} from "../../../api/consultExpert"
|
||||
import {getItems} from "../../../api/health"
|
||||
import {family,addfamily} from "../../../api/familyDoc";
|
||||
import {getServiceDetail} from "../../../api/health"
|
||||
import {throttle} from "../../../utils/util"
|
||||
const app = getApp()
|
||||
Page({
|
||||
@ -7,34 +11,294 @@ Page({
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
active:0,
|
||||
priceList:[{
|
||||
price:'180元/1月',
|
||||
id:1
|
||||
},{
|
||||
price:'500元/3月',
|
||||
id:2
|
||||
},{
|
||||
price:'1000元/6月',
|
||||
id:3
|
||||
},{
|
||||
price:'2000元/12月',
|
||||
id:4
|
||||
}],
|
||||
follow_package_item_id:'',
|
||||
img_host:app.hostConfig().imghost,
|
||||
doctor_id:'',
|
||||
currentData:0,
|
||||
inquiry_mode:9,
|
||||
inquiry_type:1,
|
||||
current_price:'',
|
||||
avatar: '',
|
||||
user_name: '',
|
||||
doctor_title: '',
|
||||
doctor_id: '',
|
||||
doctor_title_name:'',
|
||||
user_id:'',
|
||||
is_online:'0',
|
||||
hospital: null,
|
||||
priceList:[],
|
||||
show:false,
|
||||
currentFamilyId:'',
|
||||
realName:'',
|
||||
idCard:'',
|
||||
phoneNumber:'',
|
||||
relationId:'',
|
||||
sex:'',
|
||||
service_type:2,
|
||||
chat_id:'',
|
||||
img_host:app.hostConfig().imghost
|
||||
},
|
||||
inputChange(e) {
|
||||
this.setData({
|
||||
[e.target.dataset.id]: e.detail.value
|
||||
})
|
||||
},
|
||||
goNext:throttle(function() {
|
||||
this.handleGetServiceDetail();
|
||||
|
||||
}),
|
||||
addFamily() {
|
||||
let {
|
||||
realName,
|
||||
idCard,
|
||||
phoneNumber,
|
||||
relationId,
|
||||
sex
|
||||
} = this.data;
|
||||
addfamily({
|
||||
card_name: realName,
|
||||
type: 1,
|
||||
id_number: idCard,
|
||||
mobile: phoneNumber,
|
||||
is_default: 0,
|
||||
relation: relationId
|
||||
}).then((data) => {
|
||||
this.getFamily();
|
||||
this.setData({
|
||||
currentFamilyId:data.family_id,
|
||||
realName:'',
|
||||
idCard:'',
|
||||
phoneNumber:'',
|
||||
relationId:'',
|
||||
relation:'',
|
||||
showAdd:false
|
||||
})
|
||||
|
||||
})
|
||||
},
|
||||
|
||||
addPatient() {
|
||||
this.setData({
|
||||
showAdd: true,
|
||||
currentFamilyId: '',
|
||||
sex: ''
|
||||
})
|
||||
},
|
||||
selectPatient(e) {
|
||||
let currentFamilyId=e.currentTarget.dataset.familyid;
|
||||
let sex=e.currentTarget.dataset.sex;
|
||||
let name=e.currentTarget.dataset.name;
|
||||
let age=e.currentTarget.dataset.age;
|
||||
this.setData({
|
||||
currentFamilyId:currentFamilyId,
|
||||
sex:sex
|
||||
})
|
||||
},
|
||||
transforpage(arr) {
|
||||
const pages = []
|
||||
let newArr = arr.concat([{
|
||||
type: "add"
|
||||
}])
|
||||
newArr.forEach((item, index) => {
|
||||
const page = Math.floor(index / 2)
|
||||
if (!pages[page]) {
|
||||
pages[page] = []
|
||||
}
|
||||
pages[page].push(item)
|
||||
});
|
||||
return pages
|
||||
},
|
||||
confirmNext() {
|
||||
if (!/^[\u4e00-\u9fa5]+(·[\u4e00-\u9fa5]+)*$/.test(this.data.realName)) {
|
||||
wx.showToast({
|
||||
title: `姓名要求在2-10个字符`,
|
||||
icon: 'none',
|
||||
});
|
||||
return false;
|
||||
};
|
||||
if (!/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(this.data.idCard)) {
|
||||
wx.showToast({
|
||||
title: `请输入有效的身份证号`,
|
||||
icon: 'none',
|
||||
});
|
||||
return false;
|
||||
};
|
||||
|
||||
if (!/^1[3456789]\d{9}$/.test(this.data.phoneNumber)) {
|
||||
wx.showToast({
|
||||
title: `请输入有效的手机号码!`,
|
||||
icon: 'none',
|
||||
});
|
||||
return false;
|
||||
}
|
||||
},
|
||||
getFamily() {
|
||||
family().then((data) => {
|
||||
this.setData({
|
||||
family: this.transforpage(data)
|
||||
})
|
||||
})
|
||||
},
|
||||
goSick:throttle(function() {
|
||||
if (!/^([\u4e00-\u9fa5\·]{2,10})$/.test(this.data.realName)) {
|
||||
wx.showToast({
|
||||
title: `姓名要求在2-10个汉字`,
|
||||
icon: 'none',
|
||||
});
|
||||
return false;
|
||||
};
|
||||
if (!/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(this.data.idCard)) {
|
||||
wx.showToast({
|
||||
title: `请输入有效的身份证号`,
|
||||
icon: 'none',
|
||||
});
|
||||
return false;
|
||||
};
|
||||
if (this.data.phoneNumber) {
|
||||
if (!/^1[3456789]\d{9}$/.test(this.data.phoneNumber)) {
|
||||
wx.showToast({
|
||||
title: `请输入有效的手机号码!`,
|
||||
icon: 'none',
|
||||
});
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
let idInfo = this.getIdInfo(this.data.idCard);
|
||||
if (idInfo.age < 6) {
|
||||
wx.showToast({
|
||||
title: `六岁以下儿童不支持线上问诊`,
|
||||
icon: 'none',
|
||||
});
|
||||
return false;
|
||||
}
|
||||
this.setData({
|
||||
sex:idInfo.sex
|
||||
})
|
||||
this.addFamily()
|
||||
|
||||
}),
|
||||
//获取身份证号信息
|
||||
getIdInfo(IdCard) {
|
||||
var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
|
||||
if (reg.test(IdCard)) {
|
||||
let sex
|
||||
if (parseInt(IdCard.substr(16, 1)) % 2 === 1) {
|
||||
sex = '1'
|
||||
} else {
|
||||
sex = '2'
|
||||
}
|
||||
var ageDate = new Date()
|
||||
var month = ageDate.getMonth() + 1
|
||||
var day = ageDate.getDate()
|
||||
var age = ageDate.getFullYear() - IdCard.substring(6, 10) - 1
|
||||
if (IdCard.substring(10, 12) < month || (IdCard.substring(10, 12) === month && IdCard.substring(12, 14) <= day)) {
|
||||
age++
|
||||
}
|
||||
if (age <= 0) {
|
||||
age = 1
|
||||
}
|
||||
return {
|
||||
sex,
|
||||
age
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
onClose() {
|
||||
this.setData({
|
||||
show: false
|
||||
});
|
||||
},
|
||||
onCloseAdd() {
|
||||
this.setData({
|
||||
showAdd: false
|
||||
});
|
||||
},
|
||||
hanldeGetItems(id){
|
||||
getItems(id).then(res=>{
|
||||
|
||||
let arr=res.map((item,index)=>{
|
||||
return {
|
||||
price:item.service_price+'元/'+ Number(item.service_period)/30+'月',
|
||||
follow_package_item_id:item.follow_package_item_id,
|
||||
service_price:item.service_price
|
||||
}
|
||||
});
|
||||
this.setData({
|
||||
priceList:arr,
|
||||
current_price:res[0].service_price,
|
||||
follow_package_item_id:res[0].follow_package_item_id
|
||||
})
|
||||
})
|
||||
},
|
||||
getDeatil(id) {
|
||||
doctorDetail(id).then((res) => {
|
||||
for (const key in this.data) {
|
||||
if (res[key]) {
|
||||
this.setData({
|
||||
[key]: res[key]
|
||||
})
|
||||
}
|
||||
};
|
||||
this.setData({
|
||||
chat_id:res.user_id
|
||||
})
|
||||
})
|
||||
},
|
||||
handleGetServiceDetail(){
|
||||
let {doctor_id,currentFamilyId,service_type,follow_package_item_id,chat_id,sex,inquiry_mode,inquiry_type}=this.data;
|
||||
getServiceDetail({
|
||||
doctor_id,
|
||||
family_id:currentFamilyId,
|
||||
service_type,
|
||||
follow_package_item_id
|
||||
|
||||
}).then((res)=>{
|
||||
if(res.status==1){
|
||||
app.method.navigateTo({
|
||||
url:'/healthyService/pages/writeSick/writeSick?doctor_id='+doctor_id+"&family_id="+currentFamilyId+"&chat_id="+chat_id+"&inquiry_type="+inquiry_type+"&sex="+sex+"&inquiry_mode="+inquiry_mode+"&package_id="+follow_package_item_id
|
||||
})
|
||||
}else if(res.status==2){
|
||||
|
||||
}else if(res.status==3){
|
||||
app.method.navigateTo({
|
||||
url:'/patient/pages/expertDetail/expertDetail?doctor_id='+doctor_id
|
||||
})
|
||||
|
||||
}else if(res.status==4){
|
||||
|
||||
}else if(res.status==5){
|
||||
|
||||
}
|
||||
|
||||
})
|
||||
},
|
||||
showPatient(){
|
||||
this.setData({
|
||||
show:true
|
||||
})
|
||||
},
|
||||
choosePrice(e){
|
||||
|
||||
let {id}=e.currentTarget.dataset;
|
||||
let {id,price}=e.currentTarget.dataset;
|
||||
console.log(price);
|
||||
this.setData({
|
||||
active:id
|
||||
follow_package_item_id:id,
|
||||
current_price:price
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(options) {
|
||||
|
||||
this.setData({
|
||||
doctor_id:options.doctor_id
|
||||
})
|
||||
this.getDeatil(options.doctor_id);
|
||||
this.hanldeGetItems(options.doctor_id);
|
||||
this.getFamily();
|
||||
},
|
||||
|
||||
/**
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
{
|
||||
"usingComponents": {
|
||||
"nav":"../../../components/nav/nav"
|
||||
"nav":"../../../components/nav/nav",
|
||||
"van-popup": "@vant/weapp/popup/index",
|
||||
"van-picker": "@vant/weapp/picker/index"
|
||||
},
|
||||
"navigationStyle":"custom"
|
||||
}
|
||||
@ -1,11 +1,30 @@
|
||||
<!--healthyService/pages/healthyDetail/healthyDetail.wxml-->
|
||||
<wxs src="../../../filters/filter.wxs" module="moduleFilter"></wxs>
|
||||
<nav navName="随访包服务详情"></nav>
|
||||
<view class="page">
|
||||
<image src="{{img_host+'/mybg.png'}}" mode="widthFix" class="dcimg" lazy-load/>
|
||||
<view class="viewcell" >
|
||||
<view class="left">
|
||||
<image src="{{avatar}}" wx:if="{{avatar}}" mode="aspectFill" class="headimg"></image>
|
||||
<image src="{{img_host+'/doctor_avatar.png'}}" class="headimg" wx:else></image>
|
||||
<view class="onlinebox" wx:if="{{user.is_online==1}}">
|
||||
<image src="{{img_host+'/online.gif'}}" mode="" class="icon"/>
|
||||
</view>
|
||||
</view>
|
||||
<view class="right">
|
||||
<view class="namebox">
|
||||
<view class="name">{{user_name}}</view>
|
||||
<view class="type" wx:if="{{hospital.hospital_level_name != '未知'&& hospital.hospital_level_name}}">{{hospital.hospital_level_name}}</view>
|
||||
<view class="type" wx:if="{{multi_point_status == 1 && multi_point_enable==1}}">可处方</view>
|
||||
</view>
|
||||
<view class="hospital"><text class="hospital_name" wx:if="{{doctor_title_name}}">{{doctor_title_name}}</text> <text wx:if="{{item.department_custom_name}}">{{item.department_custom_name}}</text></view>
|
||||
<view class="hospital"><text class="hospital_name" >{{hospital.hospital_name}}</text></view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="servicebox">
|
||||
<view class="ser_title">请选择服务</view>
|
||||
<view class="row">
|
||||
<view class="moneyType {{active==item.id?'on':''}}" wx:for="{{ priceList}}" wx:key="id" bind:tap="choosePrice" data-id="{{item.id}}">{{item.price}}</view>
|
||||
<view class="moneyType {{follow_package_item_id==item.follow_package_item_id?'on':''}}" wx:for="{{ priceList}}" wx:key="follow_package_item_id" bind:tap="choosePrice" data-id="{{item.follow_package_item_id}}" data-price="{{item.service_price}}">{{item.price}}</view>
|
||||
<!-- <view class="moneyType">500元/3月</view>
|
||||
<view class="moneyType">1000元/6月</view>
|
||||
<view class="moneyType">2000元/12月</view> -->
|
||||
@ -65,6 +84,76 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="buttonbox">
|
||||
<view class="btn">立即购买:¥XX.XX</view>
|
||||
<view class="btn" bind:tap="showPatient">立即购买:¥{{current_price}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<van-popup show="{{ show }}" bind:close="onClose" closeable
|
||||
position="bottom" round
|
||||
custom-style="min-height: 60%">
|
||||
<view class="titlepop">选择患者</view>
|
||||
<view class="personbox">
|
||||
<view class="row" wx:for-item="itemName" wx:for="{{family}}" wx:key="*this">
|
||||
<view class="cell" wx:for-item="item" wx:for="{{itemName}}" wx:key="family_id">
|
||||
<view class="cellinner" wx:if="{{!item.type}}" bindtap="selectPatient" data-familyId="{{item.family_id}}" data-sex="{{item.sex}}">
|
||||
<view class="person">
|
||||
<view class="name">{{item.card_name}}</view>
|
||||
<view class="tag" wx:if="{{item.relation==1}}">本人</view>
|
||||
<view class="tag" wx:elif="{{item.relation==2}}">父母</view>
|
||||
<view class="tag" wx:elif="{{item.relation==3}}">爱人</view>
|
||||
<view class="tag" wx:elif="{{item.relation==4}}">子女</view>
|
||||
<view class="tag" wx:elif="{{item.relation==5}}">亲戚</view>
|
||||
<view class="tag" wx:elif="{{item.relation==6}}">其他</view>
|
||||
</view>
|
||||
<view class="desc">
|
||||
<view class="sex" wx:if="{{item.sex===0}}">性别未知</view>
|
||||
<view class="sex" wx:elif="{{item.sex==1}}">男</view>
|
||||
<view class="sex" wx:else>女</view>
|
||||
<view class="age">{{item.age}}岁</view>
|
||||
</view>
|
||||
<image src="{{img_host+'/gou.png'}}" class="gou" wx:if="{{item.family_id==currentFamilyId}}"></image>
|
||||
</view>
|
||||
<view class="celladd" bindtap="addPatient" wx:elif="{{item.type}}">
|
||||
+新建患者
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<view class="btnbox">
|
||||
<button class="btn" plain="true" disabled="{{currentFamilyId?false:true}}" bindtap="goNext">下一步</button>
|
||||
</view>
|
||||
</van-popup>
|
||||
<van-popup show="{{showAdd}}" round closeable z-index="999" position="bottom" custom-style="height:{{height}}rpx" bind:close="onCloseAdd">
|
||||
<view class="infobox">
|
||||
<view class="title">新建患者</view>
|
||||
<view class="info">
|
||||
<view class="name">真实姓名<text>*</text></view>
|
||||
<input value="{{realName}}" type="text" bindinput="inputChange" placeholder="请输入真实姓名" data-id="realName"/>
|
||||
</view>
|
||||
<view class="info">
|
||||
<view class="name">身份证号<text>*</text></view>
|
||||
<input value="{{idCard}}" type="idcard" bindinput="inputChange" placeholder="请输入真实身份证号" data-id="idCard"/>
|
||||
</view>
|
||||
<view class="info">
|
||||
<view class="name">联系电话</view>
|
||||
<input value="{{phoneNumber}}" type="number" bindblur="onblur" bindfocus="onfocus" cursor-spacing="100" bindinput="inputChange" bindinput="inputChange" placeholder="请输入联系电话" data-id="phoneNumber"/>
|
||||
</view>
|
||||
<view class="info" bindtap="openPicker">
|
||||
<view class="name">患者关系</view>
|
||||
<input type="text" value="{{relation}}" placeholder="请选择与患者的关系" disabled="true" />
|
||||
</view>
|
||||
<view class="tip">
|
||||
<view class="warntitle">温馨提示:</view>
|
||||
<view class="warn">
|
||||
<view>1、根据国家卫健委要求,就医实行实名制,请如实填写患者信息。</view>
|
||||
<view>2、信息受隐私保护,仅接诊医生可见。
|
||||
</view>
|
||||
<view>3、6岁以下儿童不支持线上问诊,请到线下就诊。
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="next" bindtap="goSick">
|
||||
确定
|
||||
</view>
|
||||
</view>
|
||||
</van-popup>
|
||||
@ -2,14 +2,25 @@ page{
|
||||
height:100vh;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* healthyService/pages/healthyDetail/healthyDetail.wxss */
|
||||
.page{
|
||||
width:100%;
|
||||
background: #F2F2F2;
|
||||
height:calc(100% - 172rpx);
|
||||
margin-top: 172rpx;
|
||||
display: flex;
|
||||
overflow: hidden;
|
||||
flex-direction: column;
|
||||
}
|
||||
.viewcell{
|
||||
display: flex;
|
||||
background-color: #fff;
|
||||
margin:30rpx;
|
||||
padding:20rpx;
|
||||
box-shadow: 0rpx 8rpx 20rpx 2rpx rgba(0,0,0,0.04);
|
||||
border-radius: 10rpx;
|
||||
|
||||
}
|
||||
.dcimg{
|
||||
width:100%;
|
||||
@ -122,4 +133,298 @@ border-radius: 10rpx;
|
||||
background: #3CC7C0;
|
||||
color:#fff;
|
||||
border: 1rpx solid #3CC7C0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.viewcell .type{
|
||||
height: 32rpx;
|
||||
margin-bottom: 6rpx;
|
||||
line-height: 32rpx;
|
||||
display: flex;
|
||||
white-space: nowrap;
|
||||
align-items: center;
|
||||
margin-left: 18rpx;
|
||||
padding:0rpx 6rpx;
|
||||
background: #ED9C00;
|
||||
border-radius: 4rpx;
|
||||
color: #FFFFFF;
|
||||
font-size: 24rpx;
|
||||
}
|
||||
.viewcellbox .hospital{
|
||||
margin-top: 12rpx;
|
||||
color: #333333;
|
||||
display: flex;
|
||||
font-size: 30rpx;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.hospital_name{
|
||||
font-size: 28rpx;
|
||||
word-wrap: break-word;
|
||||
margin-right: 10rpx;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
color:#333;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.goodjob{
|
||||
color: #666666;
|
||||
margin-top: 28rpx;
|
||||
line-height: 42rpx;
|
||||
font-size: 28rpx;
|
||||
word-break: break-all;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2; /* 这里是超出几行省略 */
|
||||
overflow: hidden;
|
||||
}
|
||||
.price{
|
||||
font-size: 28rpx;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.price text{
|
||||
margin-left: 5rpx;
|
||||
font-size: 32rpx;
|
||||
color:#EF4F20;
|
||||
}
|
||||
.viewcell .right{
|
||||
flex:1;
|
||||
margin-left: 20rpx;
|
||||
}
|
||||
.viewcell image{
|
||||
width:120rpx;
|
||||
height:120rpx;
|
||||
border-radius:50%;
|
||||
}
|
||||
.namebox{
|
||||
display: flex;
|
||||
font-size: 34rpx;
|
||||
font-weight: 600;
|
||||
color:#333;
|
||||
align-items: flex-end;
|
||||
}
|
||||
.namebox .position{
|
||||
font-weight: normal;
|
||||
margin-left: 15rpx;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
.headimg{
|
||||
width:120rpx;
|
||||
height:120rpx;
|
||||
border-radius: 50%;
|
||||
}
|
||||
.personbox {
|
||||
border-radius: 10rpx;
|
||||
background-color: #fff;
|
||||
padding: 40rpx 20rpx 144rpx;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
.personbox .row {
|
||||
margin-top: 30rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
}
|
||||
|
||||
.personbox .row:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.personbox .row .cell {
|
||||
position: relative;
|
||||
width: 47%;
|
||||
height: 120rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
margin-left: 30rpx;
|
||||
border-radius: 10rpx;
|
||||
border: 1px solid #CCCCCC;
|
||||
}
|
||||
|
||||
.personbox .row .cell:first-child {
|
||||
margin-left: 0rpx;
|
||||
}
|
||||
|
||||
.personbox .person {
|
||||
display: flex;
|
||||
margin: 0 25rpx;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.personbox .tag {
|
||||
margin-left: 32rpx;
|
||||
font-size: 24rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
line-height: 24rpx;
|
||||
justify-content: center;
|
||||
color: #666666;
|
||||
width: 80rpx;
|
||||
height: 32rpx;
|
||||
border-radius: 4rpx;
|
||||
transform: rotateZ(360deg);
|
||||
border: 1rpx solid #979797;
|
||||
}
|
||||
|
||||
.personbox .desc {
|
||||
display: flex;
|
||||
margin: 0 25rpx;
|
||||
font-size: 28rpx;
|
||||
color: #666;
|
||||
margin-top: 3px;
|
||||
}
|
||||
|
||||
.personbox .name {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
max-width: 200rpx;
|
||||
text-overflow: ellipsis;
|
||||
font-size: 34rpx;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.personbox .age {
|
||||
|
||||
margin-left: 12rpx;
|
||||
}
|
||||
|
||||
.personbox .cell .gou {
|
||||
position: absolute;
|
||||
bottom: -1rpx;
|
||||
right: 0rpx;
|
||||
width: 66rpx;
|
||||
height: 53.7rpx;
|
||||
}
|
||||
|
||||
.personbox .add {
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-size: 34rpx;
|
||||
color: #333;
|
||||
}
|
||||
.own .add.disabled{
|
||||
color: #999;
|
||||
}
|
||||
.titlepop{
|
||||
font-size: 34rpx;
|
||||
font-weight: 400;
|
||||
color: #333333;
|
||||
padding:40rpx 0;
|
||||
text-align: center;
|
||||
width:100%;
|
||||
border-bottom:1rpx solid #E7E7E7;
|
||||
}
|
||||
|
||||
.van-icon-cross {
|
||||
color: #333;
|
||||
font-size: 40rpx !important;
|
||||
}
|
||||
|
||||
.infobox {
|
||||
margin-top: 40rpx;
|
||||
}
|
||||
|
||||
.info {
|
||||
border-bottom: 1rpx solid #E7E7E7;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 112rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.infobox .title {
|
||||
border-bottom: 1rpx solid #E7E7E7;
|
||||
text-align: center;
|
||||
font-size: 34rpx;
|
||||
padding-bottom: 35rpx;
|
||||
}
|
||||
|
||||
.info .name {
|
||||
white-space: nowrap;
|
||||
width: 180rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-left: 52rpx;
|
||||
color: #333333;
|
||||
font-size: 34rpx;
|
||||
}
|
||||
|
||||
.info text {
|
||||
margin-top: 20rpx;
|
||||
color:#E34D59;
|
||||
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.info input {
|
||||
margin-left: 15rpx;
|
||||
margin-right: 52rpx;
|
||||
flex: 1;
|
||||
}
|
||||
.input-placeholder {
|
||||
color: #999999;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
.tip{
|
||||
padding:30rpx 52rpx 20rpx;
|
||||
}
|
||||
.warntitle{
|
||||
color: #E34D59;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
.warn{
|
||||
margin-top: 20rpx;
|
||||
font-size: 24rpx;
|
||||
line-height: 36rpx;
|
||||
color: #666666;
|
||||
}
|
||||
.next{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 94rpx;
|
||||
font-size: 36rpx;
|
||||
left: 30rpx;
|
||||
right: 30rpx;
|
||||
margin:0 52rpx;
|
||||
border-radius: 47rpx;
|
||||
color: #fff;
|
||||
margin-bottom: 40rpx;
|
||||
background: #3CC7C0;
|
||||
}
|
||||
.celladd{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 120rpx;
|
||||
}
|
||||
.btnbox{
|
||||
position: fixed;
|
||||
width:100%;
|
||||
bottom:0rpx;
|
||||
height: 134rpx;
|
||||
background:#fff;
|
||||
|
||||
|
||||
}
|
||||
.btnbox .btn{
|
||||
border-radius: 47rpx;
|
||||
border:none;
|
||||
background: #3CC7C0!important;
|
||||
margin:0 32rpx;
|
||||
height: 94rpx;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-size: 36rpx;
|
||||
color: #FFFFFF!important;
|
||||
}
|
||||
.btnbox .btn[disabled]{
|
||||
color: #000000!important;
|
||||
background:rgba(0,0,0,0.1)!important;
|
||||
}
|
||||
|
||||
159
healthyService/pages/visitList/visitList.js
Normal file
159
healthyService/pages/visitList/visitList.js
Normal file
@ -0,0 +1,159 @@
|
||||
// healthyService/pages/healthyIntro/healthyIntro.js
|
||||
import {throttle} from "../../../utils/util"
|
||||
import {doctorList} from "../../../api/consultExpert"
|
||||
const app = getApp()
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
blockHeight:"150rpx",
|
||||
type:'',
|
||||
doctorList:[],
|
||||
page:1,
|
||||
pageNumber:10,
|
||||
isTriggered:false,
|
||||
show:false,
|
||||
expertise_id:'',
|
||||
province_id:'',
|
||||
city_id:'',
|
||||
keyword:'',
|
||||
lock:false,
|
||||
is_online:0,
|
||||
sort_order:1,
|
||||
inquiry_type:'1',
|
||||
inquiry_mode:'9',
|
||||
},
|
||||
handleRefresher(){
|
||||
|
||||
this.setData({
|
||||
lock:false,
|
||||
page:1,
|
||||
doctorList:[]
|
||||
});
|
||||
this.getDoctorList()
|
||||
},
|
||||
goExpertDetail:throttle(function(e){
|
||||
let {doctorid}=e.currentTarget.dataset;
|
||||
app.method.navigateTo({
|
||||
url:'/healthyService/pages/visitDetail/visitDetail?doctor_id='+doctorid
|
||||
})
|
||||
}),
|
||||
getDoctorList(){
|
||||
let {expertise_id,province_id, city_id,sort_order,keyword,page,pageNumber,is_online,inquiry_type,inquiry_mode}=this.data;
|
||||
doctorList({
|
||||
expertise_id:expertise_id,
|
||||
province_id:province_id,
|
||||
city_id:city_id,
|
||||
sort_order: sort_order,
|
||||
is_first_online:is_online,
|
||||
keyword:keyword,
|
||||
inquiry_type,
|
||||
inquiry_mode,
|
||||
page:page,
|
||||
per_page:pageNumber
|
||||
}).then((res)=>{
|
||||
let {doctorList}=this.data;
|
||||
if(res.data.length==0){
|
||||
this.setData({
|
||||
lock:true,
|
||||
isTriggered:false
|
||||
});
|
||||
return false;
|
||||
}else{
|
||||
this.setData({
|
||||
isTriggered:false,
|
||||
doctorList:doctorList.concat(res.data)
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
})
|
||||
},
|
||||
onfresh(){
|
||||
this.setData({
|
||||
page:1,
|
||||
doctorList:[],
|
||||
lock:false
|
||||
})
|
||||
this.getDoctorList();
|
||||
},
|
||||
lower(e) {
|
||||
let {lock}=this.data;
|
||||
let addPage=this.data.page+1;
|
||||
if(!lock){
|
||||
this.setData({
|
||||
page:addPage
|
||||
});
|
||||
this.getDoctorList();
|
||||
}
|
||||
},
|
||||
goDetail:throttle(function(){
|
||||
let url=this.data.type?'/healthyService/pages/visitDetail/visitDetail':'/healthyService/pages/healthyDetail/healthyDetail'
|
||||
app.method.navigateTo({
|
||||
url: url
|
||||
})
|
||||
}),
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(options) {
|
||||
if(options.type){
|
||||
this.setData({
|
||||
type:'visit'
|
||||
})
|
||||
}
|
||||
this.getDoctorList();
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
onShareAppMessage() {
|
||||
|
||||
}
|
||||
})
|
||||
7
healthyService/pages/visitList/visitList.json
Normal file
7
healthyService/pages/visitList/visitList.json
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"usingComponents": {
|
||||
"nav":"../../../components/nav/nav",
|
||||
"van-popup": "@vant/weapp/popup/index"
|
||||
},
|
||||
"navigationStyle":"custom"
|
||||
}
|
||||
47
healthyService/pages/visitList/visitList.wxml
Normal file
47
healthyService/pages/visitList/visitList.wxml
Normal file
@ -0,0 +1,47 @@
|
||||
<nav navName="随访包服务医生"></nav>
|
||||
<wxs src="../../../filters/filter.wxs" module="moduleFilter"></wxs>
|
||||
|
||||
<view class="page">
|
||||
<view class="scrollwraper">
|
||||
<scroll-view scroll-y style="width: 100%;height:100%" bindrefresherrefresh="handleRefresher" refresher-triggered="{{isTriggered}}" refresher-threshold="100" refresher-enabled="true" bindscrolltolower="lower" id="scroller" bounces="false">
|
||||
<view wx:if="{{doctorList.length>0}}">
|
||||
<view class="viewcell" bindtap="goExpertDetail" wx:for="{{doctorList}}" wx:key="doctor_id" data-doctorid="{{item.doctor_id}}" >
|
||||
<view class="left">
|
||||
|
||||
<image src="{{item.avatar}}" wx:if="{{item.avatar}}" mode="aspectFill"></image>
|
||||
<image src="{{img_host+'/doctor_avatar.png'}}" wx:else></image>
|
||||
<view class="onlinebox" wx:if="{{item.user.is_online==1}}">
|
||||
<image src="{{img_host+'/online.gif'}}" mode="" class="icon"/>
|
||||
</view>
|
||||
</view>
|
||||
<view class="right">
|
||||
<view class="namebox">
|
||||
<view class="name">{{item.user_name}}</view>
|
||||
<!-- <view class="position" >{{item.doctor_title_name}}</view> -->
|
||||
<view class="type" wx:if="{{item.hospital.hospital_level_name != '未知'&& item.hospital.hospital_level_name}}">{{item.hospital.hospital_level_name}}</view>
|
||||
<view class="type" wx:if="{{item.multi_point_status == 1 && item.multi_point_enable==1}}">可处方</view>
|
||||
</view>
|
||||
<view class="hospital"><text class="hospital_name" wx:if="{{item.doctor_title_name}}">{{item.doctor_title_name}}</text> <text wx:if="{{item.department_custom_name}}">{{item.department_custom_name}}</text></view>
|
||||
<view class="hospital"><text class="hospital_name" >{{item.hospital.hospital_name}}</text></view>
|
||||
<view class="goodjob" wx:if="{{item.be_good_at}}">擅长:{{item.be_good_at}}</view>
|
||||
<view class="diseaseType" wx:for="{{item.doctor_expertise}}" wx:for-item="cell" wx:key="index">{{cell.expertise_name}}</view>
|
||||
<view class="detail" wx:if="{{item.is_display_score}}">
|
||||
<view>评分: <text wx:if="{{item.praise_rate>0}}">{{item.praise_rate}} </text><text wx:else>暂无</text></view>
|
||||
<view>问诊量: <text wx:if="{{item.served_patients_num>0}}">{{item.served_patients_num}}</text><text wx:else>暂无</text></view>
|
||||
<view>平均回复: <text wx:if="{{item.avg_response_time>0}}"> {{moduleFilter.formatReply(item.avg_response_time)}}h</text><text wx:else>暂无</text></view>
|
||||
</view>
|
||||
<view class="consultbox">
|
||||
<view class="price" wx:for="{{item.doctor_inquiry_config}}" wx:for-item="itemName" wx:if="{{itemName.inquiry_type==1 && itemName.inquiry_mode==9 && itemName.inquiry_price}}">
|
||||
<view class="pricecell">随访包:<text>¥{{itemName.inquiry_price}}/月起</text>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="nonedata" wx:else>暂无数据!</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
367
healthyService/pages/visitList/visitList.wxss
Normal file
367
healthyService/pages/visitList/visitList.wxss
Normal file
@ -0,0 +1,367 @@
|
||||
/* healthyService/pages/healthyIntro/healthyIntro.wxss */
|
||||
.page{
|
||||
|
||||
margin-top: 172rpx;
|
||||
|
||||
height: calc(100vh - 172rpx);
|
||||
position: relative;
|
||||
}
|
||||
.imgbox{
|
||||
position: relative;
|
||||
}
|
||||
page{
|
||||
height: 100vh;
|
||||
overflow: hidden;
|
||||
}
|
||||
.btn{
|
||||
position: absolute;
|
||||
|
||||
left: 50%;
|
||||
margin-left: -232rpx;
|
||||
width:464rpx;
|
||||
height: 86rpx;
|
||||
bottom:130rpx;
|
||||
}
|
||||
.bg{
|
||||
width:100%;
|
||||
}
|
||||
.top{
|
||||
position: absolute;
|
||||
top:10rpx;
|
||||
width:100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
padding:20rpx 0;
|
||||
}
|
||||
.top .up{
|
||||
width:40rpx;
|
||||
height:22rpx;
|
||||
transition: all 0.5s;
|
||||
}
|
||||
.top .up.active{
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
.popname{
|
||||
margin-top: 60rpx;
|
||||
padding:20rpx 52rpx 30rpx;
|
||||
font-size: 34rpx;
|
||||
color:#333;
|
||||
border-bottom: 1px solid #E7E7E7;
|
||||
}
|
||||
.popwrper{
|
||||
top:0rpx;
|
||||
background-color: #fff;
|
||||
position: relative;
|
||||
transition: height 0.5s;
|
||||
width:100%;
|
||||
border-radius: 20rpx;
|
||||
overflow: hidden;
|
||||
height:100%;
|
||||
bottom:0px;
|
||||
}
|
||||
.wraper{
|
||||
|
||||
height: 100%;
|
||||
}
|
||||
.containexpert{
|
||||
margin-top: 172rpx;
|
||||
padding: 0 30rpx 0rpx;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
transform: all 0.3s ease;
|
||||
}
|
||||
.droptitle,.van-ellipsis{
|
||||
font-size: 30rpx!important;
|
||||
}
|
||||
.namebox .name{
|
||||
max-width:400rpx;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.droptitle.active{
|
||||
color:#3CC7C0;
|
||||
}
|
||||
.searchbox {
|
||||
width: 100%;
|
||||
height: 72rpx;
|
||||
display: flex;
|
||||
border-radius: 40rpx;
|
||||
align-items: center;
|
||||
margin-top: 20rpx;
|
||||
background: #FBFBFB;
|
||||
border-radius: 36px;
|
||||
border: 1rpx solid #CCCCCC;
|
||||
}
|
||||
|
||||
.searchbox input {
|
||||
margin-left: 30rpx;
|
||||
flex: 1;
|
||||
font-size: 32rpx;
|
||||
height: 80rpx;
|
||||
}
|
||||
|
||||
.searchbox image {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
margin-right: 28rpx;
|
||||
}
|
||||
|
||||
.scroll-view_H {
|
||||
height:195rpx;
|
||||
white-space: nowrap;
|
||||
vertical-align: top;
|
||||
}
|
||||
.scroll-view-item_H{
|
||||
/* width: 154rpx; */
|
||||
padding:0 15rpx;
|
||||
background: #F4F4F4;
|
||||
border-radius: 30rpx;
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
margin-left: 36rpx;
|
||||
border: 1rpx solid #F4F4F4;
|
||||
height: 58rpx;
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
line-height: 58rpx;
|
||||
}
|
||||
|
||||
.page-section-spacing .row{
|
||||
margin-top: 40rpx;
|
||||
margin-bottom: 30rpx;
|
||||
}
|
||||
.page-section-spacing .row:last-child{
|
||||
margin-top: 30rpx;
|
||||
margin-bottom: 10rpx;
|
||||
}
|
||||
.scroll-view_H .scroll-view-item_H:first-child{
|
||||
margin-left: 0rpx;
|
||||
|
||||
}
|
||||
.scroll-view-item_H.active {
|
||||
background: #E2FFFE;
|
||||
color: #3CC7C0;
|
||||
border: 1rpx solid #3CC7C0;
|
||||
}
|
||||
.van-dropdown-menu{
|
||||
box-shadow: none!important;
|
||||
|
||||
}
|
||||
.viewcell{
|
||||
display: flex;
|
||||
overflow: hidden;
|
||||
box-sizing: border-box;
|
||||
padding:40rpx 30rpx 30rpx;
|
||||
width:100%;
|
||||
border-radius: 10rpx;
|
||||
background-color: #fff;
|
||||
border-bottom: 1rpx solid #E7E7E7;
|
||||
}
|
||||
.viewcell:last-child{
|
||||
border-bottom: none;
|
||||
}
|
||||
.viewcell .type{
|
||||
height: 32rpx;
|
||||
margin-bottom: 6rpx;
|
||||
line-height: 32rpx;
|
||||
display: flex;
|
||||
white-space: nowrap;
|
||||
align-items: center;
|
||||
margin-left: 18rpx;
|
||||
padding:0rpx 6rpx;
|
||||
background: #ED9C00;
|
||||
border-radius: 4rpx;
|
||||
color: #FFFFFF;
|
||||
font-size: 24rpx;
|
||||
}
|
||||
.viewcell .hospital{
|
||||
margin-top: 12rpx;
|
||||
color: #333333;
|
||||
display: flex;
|
||||
font-size: 30rpx;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.hospital_name{
|
||||
word-wrap: break-word;
|
||||
margin-right: 10rpx;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.goodjob{
|
||||
color: #666666;
|
||||
margin-top: 28rpx;
|
||||
line-height: 42rpx;
|
||||
font-size: 28rpx;
|
||||
word-break: break-all;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2; /* 这里是超出几行省略 */
|
||||
overflow: hidden;
|
||||
}
|
||||
.price{
|
||||
font-size: 28rpx;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.price text{
|
||||
margin-left: 5rpx;
|
||||
font-size: 32rpx;
|
||||
color:#EF4F20;
|
||||
}
|
||||
.viewcell .right{
|
||||
flex:1;
|
||||
margin-left: 20rpx;
|
||||
}
|
||||
.viewcell image{
|
||||
width:80rpx;
|
||||
height:80rpx;
|
||||
border-radius:50%;
|
||||
}
|
||||
.namebox{
|
||||
display: flex;
|
||||
font-size: 34rpx;
|
||||
font-weight: 600;
|
||||
color:#333;
|
||||
align-items: flex-end;
|
||||
}
|
||||
.namebox .position{
|
||||
font-weight: normal;
|
||||
margin-left: 15rpx;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
.dropOnline.active{
|
||||
color: #3CC7C0;
|
||||
}
|
||||
.diseaseType{
|
||||
height: 40rpx;
|
||||
background: #E2FFFE;
|
||||
border-radius: 20rpx;
|
||||
margin-right: 20rpx;
|
||||
border: 1rpx solid #3CC7C0;
|
||||
color: #3CC7C0;
|
||||
font-size: 24rpx;
|
||||
display: inline-flex;
|
||||
text-align: center;
|
||||
padding:0 15rpx;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-top: 20rpx;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.detail{
|
||||
margin-top: 20rpx;
|
||||
display: flex;
|
||||
font-size: 24rpx;
|
||||
}
|
||||
.detail view{
|
||||
margin-right:40rpx;
|
||||
}
|
||||
|
||||
.detail view text{
|
||||
font-size: 28rpx;
|
||||
color:#3CC7C0;
|
||||
}
|
||||
.consultbox{
|
||||
position: relative;
|
||||
|
||||
margin-top: 28rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.consult{
|
||||
height: 60rpx;
|
||||
background: #3CC7C0;
|
||||
border-radius: 30rpx;
|
||||
color: #FFFFFF;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding:0 20rpx;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
.wraper{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.scrollwraper{
|
||||
flex: 1;
|
||||
overflow-y: scroll;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
.dropdown{
|
||||
width:100%;
|
||||
position: relative;
|
||||
justify-content:center;
|
||||
align-items: center;
|
||||
border-bottom: 1rpx solid #E7E7E7;
|
||||
display: flex;
|
||||
}
|
||||
.dropdown .bar{
|
||||
|
||||
height:40rpx;
|
||||
width:1rpx;
|
||||
left: 50%;
|
||||
top:50%;
|
||||
transform: translate(-50%,-50%);
|
||||
position: absolute;
|
||||
background:#ccc;
|
||||
opacity: 0.9;
|
||||
}
|
||||
.dropbar{
|
||||
background:#ccc;
|
||||
opacity: 0.9;
|
||||
height:40rpx;
|
||||
width:1rpx;
|
||||
position: static;
|
||||
margin-top: 30rpx;
|
||||
}
|
||||
.dropOnline{
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width:33.33%;
|
||||
}
|
||||
.viewcell .left{
|
||||
position: relative;
|
||||
}
|
||||
.price .expert_prcie{
|
||||
text-decoration: line-through;
|
||||
color:#999;
|
||||
}
|
||||
.price .expert_prcie .priceactive{
|
||||
color:#999;
|
||||
}
|
||||
.pricecell{
|
||||
display: flex;
|
||||
font-size: 30rpx;
|
||||
align-items: center;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.videocell{
|
||||
position: absolute;
|
||||
right:0rpx;
|
||||
}
|
||||
.price.qs{
|
||||
display: none;
|
||||
}
|
||||
.price.gy,.price.hasfree{
|
||||
display: none;
|
||||
}
|
||||
.nonekaitong{
|
||||
position: absolute;
|
||||
top:0rpx;
|
||||
font-size: 30rpx;
|
||||
right:320rpx;
|
||||
}
|
||||
.nonekaitong text{
|
||||
font-size: 30rpx;
|
||||
}
|
||||
.popwrper{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
901
healthyService/pages/writeSick/writeSick.js
Normal file
901
healthyService/pages/writeSick/writeSick.js
Normal file
@ -0,0 +1,901 @@
|
||||
// pages/writeSick/writeSick.js
|
||||
const app = getApp()
|
||||
import Dialog from '@vant/weapp/dialog/dialog';
|
||||
import dayjs from '../../../utils/dayjs.min.js'
|
||||
import {
|
||||
createServiceOrder
|
||||
} from "../../../api/health"
|
||||
import {
|
||||
getSign
|
||||
} from "../../../api/common"
|
||||
import {
|
||||
lastSick
|
||||
} from "../../../api/consultExpert"
|
||||
import {
|
||||
throttle
|
||||
} from "../../../utils/util"
|
||||
import {client_type} from "../../../utils/isPc"
|
||||
import {isExist,pathographyDetail} from "../../../api/sickRecord"
|
||||
let urlHost=app.hostConfig().agreehost;
|
||||
console.log(client_type);
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
prevData: null,
|
||||
pathography_id:'',
|
||||
showdialog: false,
|
||||
showAgreeDialog: false,
|
||||
message: '',
|
||||
order_inquiry_id:'',
|
||||
doctor_id: '',
|
||||
family_id: '',
|
||||
chat_id: '',
|
||||
inquiry_type: 1,
|
||||
inquiry_mode: 1,
|
||||
messageTitle: '',
|
||||
disease_class_name: '',
|
||||
disease_class_id:null,
|
||||
show: false,
|
||||
startIndex: 0,
|
||||
cancelBtn: false,
|
||||
showSick: false,
|
||||
hideSick: false,
|
||||
hideGuomin: false,
|
||||
hidePregnant:false,
|
||||
disease_desc: '',
|
||||
hideFamilysick: false,
|
||||
showBack: false,
|
||||
is_exist:false,
|
||||
columns: [],
|
||||
fileList: [],
|
||||
lockBtn: false,
|
||||
checkSign: false,
|
||||
is_allergy_history:null,
|
||||
is_family_history:null,
|
||||
is_pregnant:null,
|
||||
pregnant: '',
|
||||
checkAgree: false,
|
||||
is_taboo:null,
|
||||
diagnosis_date:null,
|
||||
service_type:2,
|
||||
product: [],
|
||||
follow_package_item_id:'',
|
||||
img_host:'https://oss.prod.applets.igandanyiyuan.com/applet/patient/static',
|
||||
allergy_history: '',
|
||||
family_history: '',
|
||||
currentDate: new Date().getTime(),
|
||||
minDate: new Date('1900/01/01 00:00:00').getTime(),
|
||||
maxDate: new Date().getTime(),
|
||||
formatter(type, value) {
|
||||
if (type === 'year') {
|
||||
return `${value}年`;
|
||||
}
|
||||
if (type === 'month') {
|
||||
return `${value}月`;
|
||||
}
|
||||
if (type === 'day') {
|
||||
return `${value}日`;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
},
|
||||
setInfo(obj){
|
||||
let Info =obj;
|
||||
for (const key in Info) {
|
||||
if (key != "product") {
|
||||
if (Info[key]) {
|
||||
this.setData({
|
||||
[key]: Info[key]
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
if (Info.disease_desc) {
|
||||
this.setData({
|
||||
hideSick: true
|
||||
})
|
||||
};
|
||||
if (Info.pregnant) {
|
||||
this.setData({
|
||||
hidePregnant: true
|
||||
})
|
||||
};
|
||||
|
||||
if (Info.allergy_history) {
|
||||
this.setData({
|
||||
hideGuomin: true
|
||||
})
|
||||
};
|
||||
if (Info.family_history) {
|
||||
this.setData({
|
||||
hideFamilysick: true
|
||||
})
|
||||
};
|
||||
|
||||
if (Info.fileList) {
|
||||
|
||||
this.setData({
|
||||
fileList:Info.fileList,
|
||||
checkSign: false
|
||||
})
|
||||
} else {
|
||||
this.setData({
|
||||
checkSign: true
|
||||
})
|
||||
}
|
||||
},
|
||||
getlocalInfo(id){
|
||||
let sickInfo = wx.getStorageSync('sickInfo');
|
||||
if (sickInfo) {
|
||||
var InfoObj = JSON.parse(sickInfo);
|
||||
if (InfoObj instanceof Array) {
|
||||
let obj=null;
|
||||
let isHas= InfoObj.some((item)=>{
|
||||
if(item.family_id==id){
|
||||
obj=item;
|
||||
}
|
||||
return item.family_id==id;
|
||||
})
|
||||
if(isHas){
|
||||
this.setInfo(obj)
|
||||
}else{
|
||||
this.handleOnlineSick(this.data.family_id);
|
||||
}
|
||||
// for (let i = 0; i < InfoObj.length; i++) {
|
||||
// if (InfoObj[i].family_id == id) {
|
||||
// Dialog.confirm({
|
||||
// title: '温馨提示',
|
||||
// message: '是否加载之前保存的病情信息?',
|
||||
// }).then(() => {
|
||||
// this.setInfo(InfoObj[i])
|
||||
// }).catch(() => {
|
||||
|
||||
// });
|
||||
|
||||
// break;
|
||||
// };
|
||||
// }
|
||||
}
|
||||
|
||||
}else{
|
||||
this.handleOnlineSick(this.data.family_id);
|
||||
}
|
||||
},
|
||||
handleSetValue(data){
|
||||
if(data){
|
||||
let obj = {
|
||||
disease_class_name: '',
|
||||
disease_class_id: '',
|
||||
diagnosis_date: '',
|
||||
disease_desc: '',
|
||||
is_allergy_history:null,
|
||||
product: [],
|
||||
is_taboo:null,
|
||||
is_pregnant:null,
|
||||
pregnant: '',
|
||||
is_family_history:null,
|
||||
allergy_history: '',
|
||||
family_history: '',
|
||||
}
|
||||
for (const key in obj) {
|
||||
if (key != "product") {
|
||||
if(key=="is_taboo" && !data[key]){
|
||||
this.setData({
|
||||
[key]: null
|
||||
})
|
||||
}else{
|
||||
this.setData({
|
||||
[key]: data[key]
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
if (data.disease_desc) {
|
||||
this.setData({
|
||||
hideSick: true
|
||||
})
|
||||
};
|
||||
if (data.pregnant) {
|
||||
this.setData({
|
||||
hidePregnant: true
|
||||
})
|
||||
};
|
||||
|
||||
if (data.allergy_history) {
|
||||
this.setData({
|
||||
hideGuomin: true
|
||||
})
|
||||
};
|
||||
if (data.family_history) {
|
||||
this.setData({
|
||||
hideFamilysick: true
|
||||
})
|
||||
};
|
||||
if (data.diagnose_images) {
|
||||
this.setData({
|
||||
fileList: data.diagnose_images,
|
||||
checkSign: false
|
||||
})
|
||||
} else {
|
||||
this.setData({
|
||||
checkSign: false
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
handleOnlineSick(id){
|
||||
lastSick(id).then(data => {
|
||||
this.handleSetValue(data);
|
||||
})
|
||||
},
|
||||
// handleLastSick(id) {
|
||||
// lastSick(id).then(data => {
|
||||
// if (!data){
|
||||
// this.getlocalInfo(id);
|
||||
// } else {
|
||||
|
||||
|
||||
// }
|
||||
// })
|
||||
// },
|
||||
|
||||
onConfirm(event) {
|
||||
const {
|
||||
value
|
||||
} = event.detail;
|
||||
this.setData({
|
||||
disease_class_name: `${value.disease_class_name}`,
|
||||
disease_class_id: `${value.disease_class_id}`,
|
||||
showSick: false
|
||||
})
|
||||
},
|
||||
showSick() {
|
||||
app.method.navigateTo({
|
||||
url: '/patient/pages/commonSick/commonSick'
|
||||
})
|
||||
},
|
||||
delImg(event) {
|
||||
let id = event.currentTarget.dataset.id;
|
||||
this.data.fileList.splice(id, 1);
|
||||
this.setData({
|
||||
fileList: this.data.fileList
|
||||
})
|
||||
},
|
||||
previewImage(event) {
|
||||
let id = event.currentTarget.dataset.id;
|
||||
let urls = this.data.fileList;
|
||||
wx.previewImage({
|
||||
current: urls[id], // 当前显示图片的http链接
|
||||
urls: urls // 需要预览的图片http链接列表
|
||||
})
|
||||
},
|
||||
uploadFile(File) {
|
||||
wx.showLoading({
|
||||
title: '图片上传中...',
|
||||
mask: true
|
||||
})
|
||||
let THIS = this;
|
||||
getSign({
|
||||
user_type: 1,
|
||||
scene: 2
|
||||
}).then((resdata) => {
|
||||
let {
|
||||
accessid,
|
||||
dir,
|
||||
policy,
|
||||
signature,
|
||||
host
|
||||
} = resdata;
|
||||
let index = File.lastIndexOf("/");
|
||||
let filename = File.substring(index + 1, File.length);
|
||||
return new Promise((resolve, reject) => {
|
||||
wx.uploadFile({
|
||||
url: host, // 仅为示例,非真实的接口地址
|
||||
filePath: File,
|
||||
name: 'file',
|
||||
formData: {
|
||||
OSSAccessKeyId: accessid,
|
||||
policy,
|
||||
key: dir + filename,
|
||||
signature
|
||||
},
|
||||
success(res) {
|
||||
if (res.statusCode === 204) {
|
||||
let url = host + '/' + dir + filename;
|
||||
THIS.setData({
|
||||
fileList: THIS.data.fileList.concat([url])
|
||||
})
|
||||
}
|
||||
},
|
||||
fail: err => {
|
||||
console.log(err);
|
||||
}
|
||||
});
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
upload() {
|
||||
if(this.data.fileList.length>=9){
|
||||
wx.showToast({
|
||||
title: '复诊凭证最多上传9张',
|
||||
icon:"none"
|
||||
})
|
||||
return false
|
||||
};
|
||||
let THIS = this;
|
||||
wx.chooseMedia({
|
||||
count: 9-this.data.fileList.length,
|
||||
mediaType: ['image'],
|
||||
sourceType: ['album', 'camera'],
|
||||
success(res) {
|
||||
var imgList = res.tempFiles;
|
||||
var promiseFun = [];
|
||||
for (let i = 0; i < imgList.length; i++) {
|
||||
var file = imgList[i].tempFilePath;
|
||||
promiseFun.push(
|
||||
THIS.uploadFile(file)
|
||||
)
|
||||
};
|
||||
Promise.all(promiseFun).then((res) => {
|
||||
wx.showToast({
|
||||
title: '图片上传成功',
|
||||
icon: "none"
|
||||
})
|
||||
THIS.setData({
|
||||
checkSign: false
|
||||
})
|
||||
wx.hideLoading();
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
})
|
||||
},
|
||||
onCancel() {
|
||||
this.setData({
|
||||
showSick: false
|
||||
})
|
||||
},
|
||||
goRecord:throttle(function(){
|
||||
app.method.navigateTo({
|
||||
url:'/patient/pages/sickRecord/sickRecord?family_id='+this.data.family_id
|
||||
})
|
||||
}),
|
||||
handleThrottle: throttle(function () {
|
||||
this.create_Order()
|
||||
}),
|
||||
create_Order() {
|
||||
let {
|
||||
inquiry_type,
|
||||
inquiry_mode,
|
||||
doctor_id,
|
||||
family_id,
|
||||
disease_class_id,
|
||||
diagnosis_date,
|
||||
disease_desc,
|
||||
fileList,
|
||||
is_allergy_history,
|
||||
checkSign,
|
||||
is_pregnant,
|
||||
pregnant,
|
||||
is_family_history,
|
||||
allergy_history,
|
||||
family_history,
|
||||
checkAgree,
|
||||
sex,
|
||||
service_type,
|
||||
follow_package_item_id
|
||||
} = this.data;
|
||||
|
||||
if (!disease_class_id) {
|
||||
wx.showToast({
|
||||
title: '请选择所患疾病',
|
||||
icon: "none"
|
||||
})
|
||||
return false;
|
||||
};
|
||||
if (!diagnosis_date) {
|
||||
wx.showToast({
|
||||
title: '请选择确诊日期',
|
||||
icon: "none"
|
||||
})
|
||||
return false;
|
||||
};
|
||||
if (!disease_desc) {
|
||||
wx.showToast({
|
||||
title: '请填写病情主诉',
|
||||
icon: "none"
|
||||
})
|
||||
return false;
|
||||
};
|
||||
if(disease_desc.length<10){
|
||||
wx.showToast({
|
||||
title: '病情主诉不少于10个字',
|
||||
icon: "none"
|
||||
})
|
||||
return false;
|
||||
};
|
||||
|
||||
if (fileList.length == 0 && !checkSign) {
|
||||
wx.showToast({
|
||||
title: '请上传复诊凭证或者勾选凭证遗失或不在身边',
|
||||
icon: "none"
|
||||
})
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (inquiry_type == 4 && allergy_history) {
|
||||
for (let i = 0; i < product.length; i++) {
|
||||
if (allergy_history.indexOf(product[i].product_name) != -1) {
|
||||
this.setData({
|
||||
showdialog: true,
|
||||
messageTitle: "您的情况不适合线上问诊开方,建议线下就诊"
|
||||
})
|
||||
return false
|
||||
}
|
||||
|
||||
}
|
||||
};
|
||||
if(is_allergy_history==null){
|
||||
wx.showToast({
|
||||
title: '请选择您是否有过敏史',
|
||||
icon: "none"
|
||||
})
|
||||
return false;
|
||||
};
|
||||
if(is_allergy_history==1){
|
||||
if(!allergy_history){
|
||||
wx.showToast({
|
||||
title: '过敏史内容不能为空',
|
||||
icon: "none"
|
||||
})
|
||||
return false;
|
||||
}
|
||||
};
|
||||
if(is_family_history==null){
|
||||
wx.showToast({
|
||||
title: '请选择您是否有家族病史',
|
||||
icon: "none"
|
||||
})
|
||||
return false;
|
||||
};
|
||||
if(is_family_history==1){
|
||||
if(!family_history){
|
||||
wx.showToast({
|
||||
title: '家族病史内容不能为空',
|
||||
icon: "none"
|
||||
})
|
||||
return false;
|
||||
}
|
||||
};
|
||||
if(is_pregnant==null && sex==2){
|
||||
wx.showToast({
|
||||
title: '请选择您是否处于备孕、妊娠、哺乳期',
|
||||
icon: "none"
|
||||
})
|
||||
return false;
|
||||
};
|
||||
if (is_pregnant == 1) {
|
||||
wx.showToast({
|
||||
title: '您的情况不适合线上问诊开方,建议线下就诊',
|
||||
icon: "none"
|
||||
})
|
||||
return false;
|
||||
}
|
||||
if (!checkAgree) {
|
||||
this.setData({
|
||||
showAgreeDialog: true
|
||||
})
|
||||
return false;
|
||||
};
|
||||
this.setData({
|
||||
lockBtn: true
|
||||
});
|
||||
createServiceOrder({
|
||||
patient_id: wx.getStorageSync('CLIENT_USER_ID'),
|
||||
doctor_id: doctor_id,
|
||||
family_id: family_id,
|
||||
disease_class_id: disease_class_id,
|
||||
diagnosis_date: diagnosis_date,
|
||||
disease_desc: disease_desc,
|
||||
is_allergy_history:is_allergy_history,
|
||||
allergy_history: allergy_history,
|
||||
family_history: family_history,
|
||||
is_family_history: is_family_history,
|
||||
is_pregnant: is_pregnant,
|
||||
pregnant: pregnant,
|
||||
inquiry_type: inquiry_type,
|
||||
inquiry_mode: inquiry_mode,
|
||||
diagnose_images: fileList,
|
||||
client_type:client_type ,
|
||||
service_type:service_type,
|
||||
follow_package_item_id:follow_package_item_id
|
||||
}).then((data) => {
|
||||
let {
|
||||
inquiry_no,
|
||||
order_inquiry_id
|
||||
} = data.data;
|
||||
let {
|
||||
chat_id,
|
||||
inquiry_type,
|
||||
inquiry_mode
|
||||
} = this.data;
|
||||
this.setData({
|
||||
lockBtn: false
|
||||
});
|
||||
if(data.status==1){
|
||||
app.method.navigateTo({
|
||||
url: '/patient/pages/payOrder/payOrder?doctor_id=' + doctor_id + '&inquiry_no=' + inquiry_no + "&chat_id=" + chat_id + "&inquiry_type=" + inquiry_type + "&inquiry_mode=" + inquiry_mode + "&order_inquiry_id=" + order_inquiry_id + "&fromType=chat"
|
||||
})
|
||||
}else if(data.status==2){
|
||||
this.setData({
|
||||
showdialog:true,
|
||||
messageTitle:"当前患者存在进行中问诊订单",
|
||||
order_inquiry_id: order_inquiry_id,
|
||||
cancelBtn:true
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
}).catch((error)=>{
|
||||
this.setData({
|
||||
showdialog:true,
|
||||
messageTitle:error.message,
|
||||
cancelBtn:true
|
||||
})
|
||||
})
|
||||
},
|
||||
inputChange(e) {
|
||||
this.setData({
|
||||
[e.target.dataset.id]: e.detail.value
|
||||
})
|
||||
},
|
||||
openPop() {
|
||||
this.setData({
|
||||
show: true
|
||||
})
|
||||
},
|
||||
handleClose() {
|
||||
this.setData({
|
||||
show: false
|
||||
})
|
||||
},
|
||||
handleConfirm(event) {
|
||||
this.setData({
|
||||
show: false
|
||||
});
|
||||
this.setData({
|
||||
diagnosis_date: dayjs(event.detail).format('YYYY-MM-DD')
|
||||
});
|
||||
},
|
||||
handlepathographyDetail(id){
|
||||
pathographyDetail(id).then(data=>{
|
||||
this.handleSetValue(data);
|
||||
})
|
||||
},
|
||||
handleIsExist(){
|
||||
let {family_id}=this.data;
|
||||
isExist({
|
||||
family_id
|
||||
}).then(data=>{
|
||||
this.setData({
|
||||
is_exist:data.is_exist==0?false:true
|
||||
})
|
||||
})
|
||||
},
|
||||
handelFocus(e) {
|
||||
let key = e.target.dataset.id;
|
||||
let value = e.target.dataset.value;
|
||||
if (!e.detail.value) {
|
||||
this.setData({
|
||||
[key]: false,
|
||||
[value]: e.detail.value
|
||||
})
|
||||
} else {
|
||||
this.setData({
|
||||
[key]: true,
|
||||
[value]: e.detail.value
|
||||
})
|
||||
}
|
||||
},
|
||||
handelTextFocus(e) {
|
||||
let key = e.target.dataset.id;
|
||||
let value = e.target.dataset.value;
|
||||
if (!e.detail) {
|
||||
this.setData({
|
||||
[key]: false,
|
||||
[value]: e.detail
|
||||
})
|
||||
} else {
|
||||
this.setData({
|
||||
[key]: true,
|
||||
[value]: e.detail
|
||||
})
|
||||
}
|
||||
},
|
||||
goBack() {
|
||||
|
||||
if (app.globalData.origion == 1) {
|
||||
wx.reLaunch({
|
||||
url: '/pages/index/index',
|
||||
})
|
||||
} else if (app.globalData.origion == 2) {
|
||||
wx.reLaunch({
|
||||
url: '/pages/index/index',
|
||||
})
|
||||
} else {
|
||||
let {
|
||||
disease_class_name,
|
||||
diagnosis_date,
|
||||
fileList,
|
||||
is_allergy_history,
|
||||
is_pregnant,
|
||||
checkSign,
|
||||
checkAgree,
|
||||
is_family_history,
|
||||
disease_desc
|
||||
} = this.data;
|
||||
//封装组件后退有bug,通过引用,回退正常
|
||||
if (disease_class_name || is_allergy_history || is_pregnant || is_family_history || fileList.length > 0 || diagnosis_date || disease_desc || checkSign || checkAgree) {
|
||||
Dialog.confirm({
|
||||
title: '温馨提示',
|
||||
message: '是否保存填写的病情信息?',
|
||||
}).then(() => {
|
||||
this.onSave()
|
||||
})
|
||||
.catch(() => {
|
||||
//wx.setStorageSync('sickInfo','');
|
||||
wx.navigateBack({
|
||||
delta: 1,
|
||||
fail: function () {
|
||||
wx.reLaunch({
|
||||
url: '/pages/index/index',
|
||||
})
|
||||
}
|
||||
})
|
||||
});
|
||||
} else {
|
||||
|
||||
wx.navigateBack({
|
||||
delta: 1
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
agreeConfirm(){
|
||||
this.setData({
|
||||
checkAgree:true
|
||||
})
|
||||
},
|
||||
confirm(event) {
|
||||
|
||||
if (event.detail) {
|
||||
this.setData({
|
||||
showdialog: false
|
||||
})
|
||||
}
|
||||
if(this.data.messageTitle=="当前患者存在进行中问诊订单"){
|
||||
let {order_inquiry_id}=this.data;
|
||||
app.method.navigateTo({
|
||||
url: '/patient/pages/orderDetail/orderDetail?order_inquiry_id='+ order_inquiry_id,
|
||||
})
|
||||
}
|
||||
},
|
||||
cancelAlert(){
|
||||
this.setData({
|
||||
showdialog: false
|
||||
})
|
||||
},
|
||||
onChangeSign() {
|
||||
this.setData({
|
||||
checkSign: !this.data.checkSign
|
||||
})
|
||||
if (this.data.checkSign) {
|
||||
this.setData({
|
||||
fileList: []
|
||||
})
|
||||
}
|
||||
},
|
||||
onChange(event) {
|
||||
|
||||
let key = event.target.dataset.id;
|
||||
this.setData({
|
||||
[key]: event.detail
|
||||
});
|
||||
if (event.detail == 0) {
|
||||
if (key == "is_allergy_history") {
|
||||
this.setData({
|
||||
allergy_history: ''
|
||||
})
|
||||
};
|
||||
|
||||
if (key == "is_family_history") {
|
||||
this.setData({
|
||||
family_history: ''
|
||||
})
|
||||
};
|
||||
|
||||
if (key == "is_pregnant") {
|
||||
this.setData({
|
||||
pregnant: ''
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
onSave() {
|
||||
let {
|
||||
family_id,
|
||||
allergy_history,
|
||||
family_history,
|
||||
disease_desc,
|
||||
disease_class_name,
|
||||
disease_class_id,
|
||||
diagnosis_date,
|
||||
fileList,
|
||||
checkSign,
|
||||
checkAgree,
|
||||
is_allergy_history,
|
||||
is_pregnant,
|
||||
pregnant,
|
||||
is_family_history,
|
||||
|
||||
} = this.data;
|
||||
let sickInfo = {
|
||||
family_id,
|
||||
disease_class_name,
|
||||
diagnosis_date,
|
||||
fileList,
|
||||
disease_class_id,
|
||||
disease_desc,
|
||||
allergy_history,
|
||||
family_history,
|
||||
is_allergy_history,
|
||||
is_pregnant,
|
||||
pregnant,
|
||||
checkSign,
|
||||
checkAgree,
|
||||
is_family_history
|
||||
};
|
||||
let sickInfo_stroage = wx.getStorageSync("sickInfo");
|
||||
if (sickInfo_stroage) {
|
||||
let sickInfoObj = JSON.parse(sickInfo_stroage);
|
||||
if (sickInfoObj instanceof Array) {
|
||||
for (let i = 0; i < sickInfoObj.length; i++) {
|
||||
if (sickInfoObj[i].family_id == family_id) {
|
||||
sickInfoObj.splice(i, 1);
|
||||
}
|
||||
}
|
||||
sickInfoObj.push(sickInfo);
|
||||
wx.setStorageSync('sickInfo', JSON.stringify(sickInfoObj));
|
||||
} else {
|
||||
sickInfoObj.family_id = family_id;
|
||||
wx.setStorageSync('sickInfo', JSON.stringify([sickInfoObj]));
|
||||
}
|
||||
} else {
|
||||
wx.setStorageSync('sickInfo', JSON.stringify([sickInfo]));
|
||||
}
|
||||
|
||||
wx.navigateBack({
|
||||
delta: 1
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(options) {
|
||||
// 订单类型(1:专家问诊 2:快速问诊 3:公益问诊 4:问诊购药)
|
||||
console.log(options.package_id)
|
||||
console.log(options.inquiry_mode)
|
||||
if (options.inquiry_type == 1 || options.inquiry_type == 3) {
|
||||
this.setData({
|
||||
follow_package_item_id:options.package_id?options.package_id:'',
|
||||
doctor_id: options.doctor_id,
|
||||
family_id: options.family_id,
|
||||
chat_id: options.chat_id,
|
||||
inquiry_type: options.inquiry_type,
|
||||
inquiry_mode: options.inquiry_mode,
|
||||
sex: options.sex
|
||||
})
|
||||
} else {
|
||||
if (options.inquiry_type == 4) {
|
||||
this.setData({
|
||||
startIndex: 1
|
||||
})
|
||||
}
|
||||
|
||||
this.setData({
|
||||
// product: options.product ? JSON.parse(options.product) : [],
|
||||
family_id: options.family_id,
|
||||
inquiry_type: options.inquiry_type,
|
||||
sex: options.sex,
|
||||
inquiry_mode: 1
|
||||
})
|
||||
}
|
||||
//this.getSick();
|
||||
|
||||
this.handleIsExist();
|
||||
this.getlocalInfo(options.family_id);
|
||||
},
|
||||
goAgreement:throttle(function(){
|
||||
app.method.navigateTo({
|
||||
url:"/patient/pages/linkPage/linkPage?url="+encodeURIComponent(urlHost+'/basic/file/agreement.htm?id=1')
|
||||
})
|
||||
}),
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow() {
|
||||
this.setData({
|
||||
img_host:app.hostConfig().imghost
|
||||
});
|
||||
let {
|
||||
prevData,
|
||||
pathography_id,
|
||||
family_id
|
||||
} = this.data;
|
||||
if (prevData) {
|
||||
this.setData({
|
||||
disease_class_name: prevData.disease_class_name,
|
||||
disease_class_id: prevData.disease_class_id,
|
||||
})
|
||||
}
|
||||
console.log(pathography_id)
|
||||
if(pathography_id){
|
||||
this.handlepathographyDetail(pathography_id)
|
||||
}
|
||||
// else{
|
||||
|
||||
// //this.handleLastSick(options.family_id);
|
||||
// }
|
||||
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload() {},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
|
||||
})
|
||||
17
healthyService/pages/writeSick/writeSick.json
Normal file
17
healthyService/pages/writeSick/writeSick.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"usingComponents": {
|
||||
"van-field": "@vant/weapp/field/index",
|
||||
"van-checkbox": "@vant/weapp/checkbox/index",
|
||||
"van-radio": "@vant/weapp/radio/index",
|
||||
"van-radio-group": "@vant/weapp/radio-group/index",
|
||||
"van-datetime-picker": "@vant/weapp/datetime-picker/index",
|
||||
"van-popup": "@vant/weapp/popup/index",
|
||||
"van-picker": "@vant/weapp/picker/index",
|
||||
"van-icon": "@vant/weapp/icon/index",
|
||||
"dialog":"../../../components/dialog/dialog",
|
||||
"van-dialog": "@vant/weapp/dialog/index",
|
||||
"nav":"../../../components/nav/nav"
|
||||
},
|
||||
"navigationStyle":"custom",
|
||||
"navigationBarTitleText": "肝胆相照互联网医院"
|
||||
}
|
||||
168
healthyService/pages/writeSick/writeSick.wxml
Normal file
168
healthyService/pages/writeSick/writeSick.wxml
Normal file
@ -0,0 +1,168 @@
|
||||
<!--pages/writeSick/writeSick.wxml-->
|
||||
<wxs src="../../../filters/filter.wxs" module="filter"></wxs>
|
||||
<view class="content">
|
||||
<view class="ui-navigatorbar">
|
||||
<image class="ui-navigatorbar-back" bindtap="goBack" src="{{img_host+'/back.png'}}" />
|
||||
<view class="ui-title">填写病情</view>
|
||||
</view>
|
||||
<view class="infobox">
|
||||
<view class="sickHisbox" wx:if="{{is_exist}}">
|
||||
<view class="name">病情历史</view>
|
||||
<view class="hisBtn" bindtap="goRecord">查看记录</view>
|
||||
</view>
|
||||
<view class="info" bindtap="showSick">
|
||||
<view class="name">所患疾病</view>
|
||||
<input type="text" value="{{disease_class_name}}" placeholder="请填写所患疾病名称" class="ipt" disabled="true">
|
||||
</input>
|
||||
</view>
|
||||
<view class="info" bindtap="openPop">
|
||||
<view class="name">确诊日期</view>
|
||||
<input type="text" auto-focus value="{{filter.formatDay(diagnosis_date) }}" placeholder="请选择日期(年月日)" class="ipt" disabled="true" />
|
||||
</view>
|
||||
<view class="info">
|
||||
<view class="name">病情主诉</view>
|
||||
</view>
|
||||
<view class="textareaview">
|
||||
<view class="textwrap" style="background: #f2f2f2!important;">
|
||||
<view class="textbox" hidden="{{hideSick}}">
|
||||
<view class="desc"><text>临床症状:</text>如没有力气、食欲不好、眼睛发黄、面色晦暗、尿液发黄、肝区疼痛等等</view>
|
||||
<view class="desc"><text>诊疗情况:</text>描述做过哪些检查以及重要结果,是否开始治疗?治疗方案是什么(写出具体药物)、治疗效果如何?</view>
|
||||
<view class="desc"><text>希望解答的问题:</text>1、是否需要更换抗病毒药物? 2、如果需要更换,请问哪种药物更合适?</view>
|
||||
</view>
|
||||
<van-field show-confirm-bar="{{false}}" maxlength="500" bind:change="handelTextFocus" data-id="hideSick" data-value="disease_desc" custom-style="height: 458rpx!important; border-radius: 10px;position:relative;" input-class="iptclass" class="sickArea" show-word-limit value="{{ disease_desc }}" label="" type="textarea" placeholder="" border="{{ false }}"></van-field>
|
||||
</view>
|
||||
</view>
|
||||
<view class="infobox" style="margin-top: 20rpx;background-color: #fff;padding-bottom: 30rpx;" wx:if="{{inquiry_type==4}}">
|
||||
<view class="info">
|
||||
<view class="name">用药意向</view>
|
||||
</view>
|
||||
<view class="radiotip" style="margin:30rpx 32rpx 0;padding-bottom: 20rpx;overflow:hidden">
|
||||
<view class="textbox" style="position: static;height:auto;">
|
||||
<view class="desc" ><text class="goods" wx:for="{{product}}" wx:key="product_id">{{item.product_name}}{{item.product_spec}}(数量{{item.product_num}})</text></view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<view class="info" style="flex-direction: column;height:auto;align-items:flex-start;padding: 40rpx 0;margin-top: 20rpx;">
|
||||
<view class="name">上传复诊凭证(最多9张)</view>
|
||||
<view class="tip">请上传问诊本人清晰的复诊凭证(病例/处方单/检查报告/住院单),仅接诊医生可见。</view>
|
||||
<view class="uploadbox">
|
||||
<image wx:for="{{fileList}}" src="{{item}}" mode="aspectFill" class="upload" bindtap="previewImage" data-id="{{idx}}" wx:for-index="idx" wx:key="idx">
|
||||
<image src="{{img_host+'/xiaoclose.png'}}" class="close" catchtap="delImg" data-id="{{idx}}"></image>
|
||||
</image>
|
||||
<view class="upload" bindtap="upload">
|
||||
<van-icon name="plus" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="agreebox">
|
||||
<van-checkbox value="{{checkSign}}" data-id="checkSign" bind:change="onChangeSign" checked-color="#3cc7c0" label-class="desc">复诊凭证遗失或不在身边,请勾选本项,未上传凭证可能会影响医生对您的诊断</van-checkbox>
|
||||
</view>
|
||||
</view>
|
||||
<view class="sickHis">
|
||||
<view class="list">
|
||||
<view class="qa" wx:if="{{inquiry_type==4}}">
|
||||
<view class="num">{{startIndex}}、</view>
|
||||
<view class="titlebox">
|
||||
<view class="title">是否服用过您想购买的药品且无相关禁忌?</view>
|
||||
<view class="radio">
|
||||
<van-radio-group value="{{filter.numberTOstring(is_taboo)}}" data-id="is_taboo" bind:change="onChange" direction="horizontal">
|
||||
<van-radio name="1" checked-color="#3cc7c0">是</van-radio>
|
||||
<van-radio name="0" checked-color="#3cc7c0" style="margin-left: 140rpx;">否</van-radio>
|
||||
</van-radio-group>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="qa">
|
||||
<view class="num">{{startIndex+1}}、</view>
|
||||
<view class="titlebox">
|
||||
<view class="title">您是否有过敏史?</view>
|
||||
<view class="radio">
|
||||
<van-radio-group value="{{filter.numberTOstring(is_allergy_history)}}" data-id="is_allergy_history" bind:change="onChange" direction="horizontal">
|
||||
<van-radio name="1" checked-color="#3cc7c0">是</van-radio>
|
||||
<van-radio name="0" checked-color="#3cc7c0" style="margin-left: 140rpx;">否</van-radio>
|
||||
</van-radio-group>
|
||||
<view class="radiotip" hidden="{{is_allergy_history!=1}}">
|
||||
<textarea placeholder=" " class="textarea" show-confirm-bar="{{false}}" cursor-spacing="70" confirm-type="done" value="{{allergy_history}}" bindinput="handelFocus" data-id="hideGuomin" data-value="allergy_history"></textarea>
|
||||
<view class="textbox" hidden="{{hideGuomin}}">
|
||||
<view class="desc"><text>过敏史:</text>请填写过敏源,如药物,请写出药名;如食物,请写具体如鸡蛋、牛奶等(限制50个字)</view>
|
||||
</view>
|
||||
<!-- <text> 过敏史:</text>
|
||||
请填写过敏源,如药物,请写出药名;如食物,请写具体如鸡蛋、牛奶等 -->
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="qa">
|
||||
<view class="num">{{startIndex+2}}、</view>
|
||||
<view class="titlebox">
|
||||
<view class="title">您是否有家族病史?</view>
|
||||
<view class="radio">
|
||||
<van-radio-group value="{{ filter.numberTOstring(is_family_history) }}" data-id="is_family_history" bind:change="onChange" direction="horizontal">
|
||||
<van-radio name="1" checked-color="#3cc7c0">是</van-radio>
|
||||
<van-radio name="0" checked-color="#3cc7c0" style="margin-left: 140rpx;">否</van-radio>
|
||||
</van-radio-group>
|
||||
</view>
|
||||
<view class="radiotip" hidden="{{is_family_history!=1}}">
|
||||
<textarea class="textarea" placeholder=" " show-confirm-bar="{{false}}" cursor-spacing="70" confirm-type="done" value="{{family_history}}" bindinput="handelFocus" data-id="hideFamilysick" data-value="family_history"></textarea>
|
||||
<view class="textbox" hidden="{{hideFamilysick}}">
|
||||
<view class="desc"><text>家族病史:</text>如果是肝病,请写明患肝炎、肝硬化、肝衰竭还是肝癌。(限制50个字)</view>
|
||||
</view>
|
||||
<!-- <text> 过敏史:</text>
|
||||
请填写过敏源,如药物,请写出药名;如食物,请写具体如鸡蛋、牛奶等 -->
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="qa" wx:if="{{sex==2}}">
|
||||
<view class="num">{{startIndex+3}}、</view>
|
||||
<view class="titlebox">
|
||||
<view class="title">您是否处于备孕、妊娠、哺乳期?</view>
|
||||
<view class="radio">
|
||||
<van-radio-group value="{{ filter.numberTOstring(is_pregnant)}}" data-id="is_pregnant" bind:change="onChange" direction="horizontal">
|
||||
<van-radio name="1" checked-color="#3cc7c0">是</van-radio>
|
||||
<van-radio name="0" checked-color="#3cc7c0" style="margin-left: 140rpx;">否</van-radio>
|
||||
</van-radio-group>
|
||||
</view>
|
||||
<!-- <view class="radiotip" hidden="{{is_pregnant!=1}}">
|
||||
<textarea class="textarea" placeholder=" " show-confirm-bar="{{false}}" cursor-spacing="70" confirm-type="done" value="{{pregnant}}" bindinput="handelFocus" data-id="hidePregnant" data-value="pregnant"></textarea>
|
||||
<view class="textbox" hiden="{{hidePregnant}}">
|
||||
<view class="desc">请描述您目前所处阶段,如备孕中、哺乳期中、妊娠月份。(限制50个字)</view>
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="agreebox" style="margin: 20rpx 0 0 0;">
|
||||
<view class="xieyi">
|
||||
<van-checkbox value="{{ checkAgree }}" data-id="checkAgree" bind:change="onChange" checked-color="#3cc7c0" label-class="desc" label-disabled>胆相照互联网医院平台医生为您提供健康咨询服务,医生建议仅供参考。根据国家互联网诊疗相关政策要求,请您在提交服务前仔细阅读<text bindtap="goAgreement">《风险告知与知情同意书》</text>。继续操作表示您知悉并同意上述全部内容。</van-checkbox>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<view class="nextbox">
|
||||
<button class="next" type="primary" bindtap="handleThrottle" disabled="{{btnLock}}">下一步</button>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<van-popup show="{{ show }}" position="bottom" custom-style="height: auto">
|
||||
<van-datetime-picker title="选择确诊日期" min-date="{{ minDate }}" toolbar-class="dateTitle" type="date" value="{{ currentDate }}" bind:cancel="handleClose" bind:confirm="handleConfirm" max-date="{{ maxDate }}" formatter="{{ formatter }}" />
|
||||
</van-popup>
|
||||
<van-popup show="{{ showSick }}" position="bottom" custom-style="height: auto">
|
||||
<van-picker show-toolbar title="选择所患疾病" columns="{{ columns }}" value-key="disease_class_name" bind:cancel="onCancel" bind:confirm="onConfirm" />
|
||||
</van-popup>
|
||||
</view>
|
||||
<dialog bind:confirm="confirm" bind:cancel="cancelAlert" showDialog="{{showdialog}}" message="{{messageTitle}}" cancelBtn="{{cancelBtn}}"></dialog>
|
||||
<van-dialog
|
||||
use-slot
|
||||
class="mydailog"
|
||||
bind:confirm="agreeConfirm"
|
||||
title="温馨提示"
|
||||
theme='green'
|
||||
show="{{showAgreeDialog}}"
|
||||
confirm-button-color="#3CC7C0"
|
||||
cancel-button-text="确定"
|
||||
>
|
||||
<view class="slotmsg">
|
||||
请您先仔细阅读并同意<text class="green" bindtap="goAgreement">《风险告知与知情同意书》</text>
|
||||
</view>
|
||||
</van-dialog>
|
||||
<van-dialog id="van-dialog" confirm-button-color="#3CC7C0" />
|
||||
356
healthyService/pages/writeSick/writeSick.wxss
Normal file
356
healthyService/pages/writeSick/writeSick.wxss
Normal file
@ -0,0 +1,356 @@
|
||||
/* pages/writeSick/writeSick.wxss */
|
||||
.content{
|
||||
min-height: 100%;
|
||||
background: #f2f2f2;
|
||||
}
|
||||
.ui-navigatorbar {
|
||||
position: fixed;
|
||||
z-index:99;
|
||||
top: 0;
|
||||
width: 750rpx;
|
||||
height: 172rpx;
|
||||
background: #F2F2F2;
|
||||
backdrop-filter: blur(20px);
|
||||
}
|
||||
|
||||
.ui-navigatorbar-back {
|
||||
position: absolute;
|
||||
padding-left:40rpx;
|
||||
padding-right:40rpx;
|
||||
width:30rpx;
|
||||
height:60rpx;
|
||||
left: 0rpx;
|
||||
bottom: 20rpx;
|
||||
}
|
||||
|
||||
.ui-title {
|
||||
position: absolute;
|
||||
width: 350rpx;
|
||||
height: 88rpx;
|
||||
line-height: 56rpx;
|
||||
font-size: 36rpx;
|
||||
white-space: nowrap;
|
||||
color: #000000;
|
||||
bottom: 0;
|
||||
left: 200rpx;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.ui-navigatorbar-back {
|
||||
position: absolute;
|
||||
padding-left:40rpx;
|
||||
padding-right:40rpx;
|
||||
width:30rpx;
|
||||
height:60rpx;
|
||||
left: 0rpx;
|
||||
bottom: 20rpx;
|
||||
}
|
||||
|
||||
.ui-title {
|
||||
position: absolute;
|
||||
width: 350rpx;
|
||||
height: 88rpx;
|
||||
line-height: 56rpx;
|
||||
font-size: 36rpx;
|
||||
color: #000000;
|
||||
bottom: 0;
|
||||
left: 200rpx;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.infobox {
|
||||
margin-top:172rpx;
|
||||
|
||||
}
|
||||
.sickHisbox{
|
||||
display: flex;
|
||||
height:94rpx;
|
||||
align-items: center;
|
||||
margin-bottom: 20rpx;
|
||||
background-color: #fff;
|
||||
padding:0 55rpx;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.hisBtn{
|
||||
width: 166rpx;
|
||||
height: 60rpx;
|
||||
color:#3CC7C0;
|
||||
display: flex;
|
||||
font-size: 26rpx;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background: #E2FFFE;
|
||||
border-radius: 6rpx;
|
||||
border: 1rpx solid #3CC7C0;
|
||||
}
|
||||
.info {
|
||||
border-bottom: 1rpx solid #E7E7E7;
|
||||
display: flex;
|
||||
background-color: #fff;
|
||||
align-items: center;
|
||||
height: 112rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
|
||||
.info .name {
|
||||
white-space: nowrap;
|
||||
width: 180rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-left: 52rpx;
|
||||
color: #333333;
|
||||
font-size: 34rpx;
|
||||
}
|
||||
|
||||
.info text {
|
||||
margin-top: 20rpx;
|
||||
color:#E34D59;
|
||||
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.info .ipt {
|
||||
margin-left: 15rpx;
|
||||
margin-right: 52rpx;
|
||||
flex: 1;
|
||||
}
|
||||
.input-placeholder {
|
||||
color: #999999;
|
||||
|
||||
font-size: 28rpx;
|
||||
}
|
||||
.textareaview{
|
||||
position: relative;
|
||||
padding:40rpx 52rpx;
|
||||
background: #fff!important;
|
||||
}
|
||||
.textwrap{
|
||||
background: #F2F2F2!important;
|
||||
border-radius: 10rpx;
|
||||
}
|
||||
.van-cell{
|
||||
position: relative;
|
||||
z-index:2;
|
||||
background-color:transparent!important;
|
||||
}
|
||||
.van-field__body--textarea{
|
||||
height:360rpx;
|
||||
width:580rpx;
|
||||
}
|
||||
.iptclass{
|
||||
top:0;
|
||||
overflow-y: scroll;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
height:360rpx!important;
|
||||
bottom:0;
|
||||
left:0rpx;
|
||||
right:0rpx;
|
||||
width:100%!important;
|
||||
background-color: transparent;
|
||||
|
||||
}
|
||||
.mydailog .dialog-index--van-dialog__confirm{
|
||||
background:#ebf9f9!important;
|
||||
}
|
||||
/*
|
||||
.van-field__control {
|
||||
display: flex;
|
||||
align-self: start;
|
||||
} */
|
||||
|
||||
.van-field__word-limit {
|
||||
color: #999999!important;
|
||||
font-size: 24rpx;
|
||||
}
|
||||
.green{
|
||||
color:rgba(60, 199, 192, 1)
|
||||
}
|
||||
.van-field__word-num--full{
|
||||
color: #ee0a24!important;
|
||||
}
|
||||
.textbox{
|
||||
left:86rpx;
|
||||
right:86rpx;
|
||||
top:60rpx;
|
||||
height:380rpx;
|
||||
z-index:0;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.textbox .desc{
|
||||
word-break: break-all;
|
||||
line-height: 42rpx;
|
||||
color: #999;
|
||||
margin-bottom: 20rpx;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
.textbox .goods{
|
||||
display: inline;
|
||||
white-space:normal;
|
||||
}
|
||||
.textbox .goods:after{
|
||||
content:";"
|
||||
}
|
||||
.textbox .goods:last-child:after{
|
||||
content:""
|
||||
}
|
||||
.textbox view:last-child{
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.textbox text{
|
||||
color: #333333;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
.info .tip{
|
||||
line-height: 36rpx;
|
||||
color: #666666;
|
||||
margin:20rpx 52rpx 0;
|
||||
font-size: 24rpx;
|
||||
}
|
||||
.uploadbox{
|
||||
|
||||
margin:30rpx 52rpx 0;
|
||||
display: flex;
|
||||
flex-wrap: wrap ;
|
||||
}
|
||||
.uploadbox .close{
|
||||
z-index:99;
|
||||
top:5rpx;
|
||||
right:5rpx;
|
||||
position: absolute;
|
||||
width:30rpx;
|
||||
height:30rpx;
|
||||
}
|
||||
.uploadbox .upload{
|
||||
position: relative;
|
||||
object-fit: cover;
|
||||
margin: 5px 19rpx 5px 0;
|
||||
}
|
||||
.uploadbox .upload:nth-child(4n){
|
||||
margin-right: 0;
|
||||
}
|
||||
.van-icon-plus{
|
||||
color:#333;
|
||||
font-size: 80rpx!important;
|
||||
}
|
||||
.agreebox{
|
||||
margin:30rpx 52rpx 0;
|
||||
display: flex;
|
||||
}
|
||||
.agreebox .desc{
|
||||
color: #666666;
|
||||
line-height: 36rpx;
|
||||
|
||||
font-size: 24rpx;
|
||||
}
|
||||
.van-checkbox{
|
||||
display: flex;
|
||||
align-items: flex-start!important;
|
||||
}
|
||||
.sickHis{
|
||||
background-color: #fff;
|
||||
margin-top: 20rpx;
|
||||
padding:40rpx 52rpx;
|
||||
|
||||
}
|
||||
textarea{
|
||||
width:100%;
|
||||
color:#333;
|
||||
height:132rpx;
|
||||
}
|
||||
.list .qa{
|
||||
display: flex;
|
||||
}
|
||||
.titlebox{
|
||||
flex:1;
|
||||
|
||||
}
|
||||
.radio{
|
||||
margin: 40rpx 0rpx 30rpx 0;
|
||||
}
|
||||
.sickArea{
|
||||
position: relative;
|
||||
z-index:1;
|
||||
}
|
||||
.upload{
|
||||
width: 148rpx;
|
||||
height:148rpx;
|
||||
display: flex;
|
||||
justify-content:center ;
|
||||
align-items: center;
|
||||
background: #F2F2F2;
|
||||
border-radius: 4rpx
|
||||
}
|
||||
.radiotip{
|
||||
position: relative;
|
||||
padding:24rpx 20rpx;
|
||||
justify-content: center;
|
||||
margin-top: 30rpx;
|
||||
line-height: 42rpx;
|
||||
background: #F2F2F2;
|
||||
border-radius: 10rpx;
|
||||
font-size: 28rpx;
|
||||
color:#999;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
.radiotip .textbox{
|
||||
top:20rpx;
|
||||
left:20rpx;
|
||||
height: 100rpx;
|
||||
right:20rpx;
|
||||
}
|
||||
.radiotip .textarea{
|
||||
position: relative;
|
||||
z-index:2;
|
||||
}
|
||||
.radiotip text{
|
||||
white-space: nowrap;
|
||||
color:#333;
|
||||
}
|
||||
.xieyi{
|
||||
width:100%;
|
||||
padding:30rpx 52rpx 40rpx;
|
||||
|
||||
background-color: #fff;
|
||||
}
|
||||
.agreebox text{
|
||||
color:#3CC7C0;
|
||||
|
||||
}
|
||||
.nextbox{
|
||||
padding-bottom: 20rpx;
|
||||
background-color: #fff;
|
||||
}
|
||||
.next{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 94rpx;
|
||||
font-size: 36rpx;
|
||||
border:none;
|
||||
outline: none;
|
||||
margin:0 52rpx;
|
||||
border-radius: 47rpx;
|
||||
color: #fff;
|
||||
margin-bottom: 40rpx;
|
||||
background: #3CC7C0!important;
|
||||
}
|
||||
.datePicker{
|
||||
width:100%;
|
||||
position: fixed;
|
||||
bottom:0;
|
||||
}
|
||||
|
||||
.dateTitle{
|
||||
border:1rpx solid #E7E7E7;
|
||||
}
|
||||
.van-uploader__preview-image,.van-uploader__upload{
|
||||
width: 148rpx!important;
|
||||
height: 148rpx!important;
|
||||
}
|
||||
.van-uploader__preview{
|
||||
margin: 0 6px 8px 0;
|
||||
}
|
||||
@ -41,7 +41,7 @@ Page({
|
||||
}
|
||||
}),
|
||||
goH5:throttle(function(event){
|
||||
let {url,name}=event.currentTarget.dataset;
|
||||
let {url,name,type}=event.currentTarget.dataset;
|
||||
if(url.indexOf("http")!=-1){
|
||||
let urlName=(decodeURIComponent(url))
|
||||
if(this.verifySuffix(urlName)){
|
||||
@ -55,14 +55,21 @@ Page({
|
||||
}
|
||||
|
||||
}else{
|
||||
wx.navigateToMiniProgram({
|
||||
appId: 'wxdee7006582529713',
|
||||
path:url,
|
||||
envVersion: 'release',
|
||||
success(res) {
|
||||
// 打开成功
|
||||
}
|
||||
})
|
||||
if(type==4){
|
||||
app.method.navigateTo({
|
||||
url:'/'+url
|
||||
})
|
||||
}else{
|
||||
wx.navigateToMiniProgram({
|
||||
appId: 'wxdee7006582529713',
|
||||
path:url,
|
||||
envVersion: 'release',
|
||||
success(res) {
|
||||
// 打开成功
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}),
|
||||
|
||||
@ -107,7 +107,7 @@
|
||||
<block wx:for="{{banner}}" wx:key="banner_id">
|
||||
<swiper-item>
|
||||
<view class="swiper-item">
|
||||
<image class="swiperimg" src="{{item.banner_path}}" data-url="{{item.banner_link}}" data-name="{{item.banner_name}}" bindtap="goH5"></image>
|
||||
<image class="swiperimg" src="{{item.banner_path}}" data-url="{{item.banner_link}}" data-name="{{item.banner_name}}" data-type="{{item.open_with}}" bindtap="goH5"></image>
|
||||
</view>
|
||||
</swiper-item>
|
||||
</block>
|
||||
|
||||
@ -18,8 +18,8 @@ Page({
|
||||
tab3Height:500,
|
||||
img_host:'https://oss.prod.applets.igandanyiyuan.com/applet/patient/static',
|
||||
showDialog:false,
|
||||
avatar: '',
|
||||
currentData:0,
|
||||
avatar: '',
|
||||
user_name: '',
|
||||
doctor_title: '',
|
||||
doctor_id: '',
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user