2.23更新

This commit is contained in:
zoujiandong
2024-02-23 14:06:27 +08:00
parent e856d259d6
commit cce4628d63
23 changed files with 997 additions and 112 deletions
+115
View File
@@ -0,0 +1,115 @@
// patient/pages/videoList/videoList.js
const app = getApp()
import {doctorList} from "../../../api/consultExpert"
Page({
/**
* 页面的初始数据
*/
data: {
page:1,
pageNumber:10,
lock:false,
doctorList:[],
img_host:'https://oss.prod.applets.igandanyiyuan.com/applet/patient/static',
},
goExpertDetail(event){
app.method.navigateTo({
url: '/patient/pages/expertDetail/expertDetail?doctor_id='+event.currentTarget.dataset.doctorid
})
},
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();
}
},
getDoctorList(){
let {page,pageNumber}=this.data;
doctorList({
page:page,
inquiry_type:1,
inquiry_mode:2,
per_page:pageNumber
}).then((res)=>{
let {doctorList}=this.data;
if(res.data.length==0){
this.setData({
lock:true
});
return false;
}else{
this.setData({
doctorList:doctorList.concat(res.data)
})
}
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
this.getDoctorList();
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})
+6
View File
@@ -0,0 +1,6 @@
{
"usingComponents": {
"nav":"../../../components/nav/nav"
},
"navigationStyle":"custom"
}
+46
View File
@@ -0,0 +1,46 @@
<!--patient/pages/videoList/videoList.wxml-->
<wxs src="../../../filters/filter.wxs" module="moduleFilter"></wxs>
<nav navName="视频服务"></nav>
<view class="page">
<view class="scrollwraper">
<scroll-view scroll-y style="width: 100%;height:100%" lower-threshold="200" bindscrolltolower="lower">
<view wx:if="{{doctorList.length>0}}" style="margin:0 30rpx">
<view class="viewcell" bindtap="goExpertDetail" wx:for="{{doctorList}}" wx:key="doctor_id" data-doctorid="{{item.doctor_id}}">
<view class="left">
<image src="{{item.avatar}}" mode="aspectFill" wx:if="{{item.avatar}}"></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="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 && moduleFilter.formatChufang(item.doctor_inquiry_config)}}">可处方</view>
</view>
<view class="hospital"><text class="doctor_title" wx:if="{{item.doctor_title_name}}">{{item.doctor_title_name}}</text><text>{{item.department_custom_name}}</text></view>
<view class="hospital">{{item.hospital.hospital_name}}</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="expertise_id">{{cell.expertise_name}}</view> -->
<!-- <view class="detail">
<view>好评率: <text>{{item.praise_rate}} </text> </view>
<view>服务患者数: <text>{{item.served_patients_num}}</text></view>
<view>平均回复: <text> {{item.avg_response_time}}</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 && !(moduleFilter.hasFree(item.doctor_inquiry_config) && itemName.inquiry_mode==1 ) && (itemName.inquiry_mode==1 || itemName.inquiry_mode==2) ) || itemName.inquiry_type==3 && itemName.is_enable==1)}}">
<view class="pricecell" wx:if="{{itemName.inquiry_type==3 }}">图文问诊:<text>¥{{itemName.inquiry_price}}</text><text wx:if="{{moduleFilter.formatPrice(item.doctor_inquiry_config)}}" class="expert_prcie">¥{{moduleFilter.formatPrice(item.doctor_inquiry_config)}}</text></view>
<view class="pricecell" wx:elif="{{itemName.inquiry_type==1 && !(moduleFilter.hasFree(item.doctor_inquiry_config) && itemName.inquiry_mode==1) && (itemName.inquiry_mode==1 || itemName.inquiry_mode==2) }}" > {{itemName.inquiry_mode==1?'图文问诊':itemName.inquiry_mode==2?'视频问诊':'其他问诊'}}<text class="{{(itemName.is_enable==0 && itemName.inquiry_mode==2)?'priceactive':'' }}">¥{{itemName.inquiry_price}}</text></view>
</view>
</view>
</view>
</view>
</view>
<view class="nonedata" wx:elif="{{doctorList.length==0}}">暂无数据!</view>
</scroll-view>
</view>
</view>
+200
View File
@@ -0,0 +1,200 @@
/* patient/pages/videoList/videoList.wxss *//* pages/search/search.wxss */
.page{
background: #fff;
display: flex;
flex-direction: column;
}
.searchIpt{
font-size: 28rpx;
font-weight: 400;
color: #999999;
}
.listUl{
margin:30rpx 32rpx 0;
display: flex;
flex-wrap: wrap;
}
.listUl .cell{
width: 154rpx;
padding:0 10rpx;
box-sizing: border-box;
margin-right: 23rpx;
margin-bottom: 30rpx;
text-align: center;
line-height: 60rpx;
height: 60rpx;
background: #F4F4F4;
border-radius: 30rpx;
font-size: 28rpx;
color: #666666;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
.titlebox{
margin:30rpx 32rpx 0;
display: flex;
align-items: center;
justify-content: space-between;
}
.titlebox .del{
width:32rpx;
height:32rpx;
}
.titlebox .name{
font-size: 28rpx;
color: #333333;
}
.listUl .cell:nth-child(4n){
margin-right: 0rpx;
}
.viewcell{
display: flex;
overflow: hidden;
box-sizing: border-box;
padding:40rpx 0rpx 30rpx;
width:100%;
border-radius: 10rpx;
background-color: #fff;
border-bottom: 1rpx solid #E7E7E7;
}
.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;
}
.doctor_title{
margin-right: 10rpx;
}
.viewcell .hospital{
margin-top: 12rpx;
color: #333333;
word-break: keep-all;
font-size: 30rpx;
}
.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: 24rpx;
}
.price text{
margin-left: 5rpx;
font-size: 34rpx;
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;
}
.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{
height: 60rpx;
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{
margin-top: 172rpx;
flex: 1;
overflow-y: scroll;
-webkit-overflow-scrolling: touch;
}
.viewcell .left{
position: relative;
}
.price .expert_prcie{
text-decoration: line-through;
color:#999;
}
.price .expert_prcie .priceactive{
color:#999;
}
.pricecell{
display: flex;
align-items: center;
white-space: nowrap;
}