Compare commits

...

8 Commits

Author SHA1 Message Date
zoujiandong
a52add7452 恐艾咨询 2024-12-09 14:29:42 +08:00
zoujiandong
cbf2087261 更多hiv 2024-11-06 13:55:30 +08:00
zoujiandong
d5271c3fa0 图片展示 2024-11-05 16:42:04 +08:00
zoujiandong
97d9e2fb5f hiv页面下拉 2024-11-05 13:28:50 +08:00
zoujiandong
e3b8724b61 bug 11.4 2024-11-04 15:37:49 +08:00
zoujiandong
1aedefd3dc 11.4修改 2024-11-04 10:50:12 +08:00
zoujiandong
37bf84b891 11 2024-11-01 18:21:50 +08:00
zoujiandong
3515505ffb 11.1 文章 2024-11-01 18:02:19 +08:00
23 changed files with 705 additions and 202 deletions

View File

@ -40,6 +40,14 @@ function popup(data){
function agreement(id){ function agreement(id){
return request('/basic/agreement/'+id,'GET',{},true) return request('/basic/agreement/'+id,'GET',{},true)
} }
function kepuList(data){
return request('/patient/article/science','GET',data,true)
}
function AllKepuList(data){
return request('/patient/article/science/list','GET',data,true)
}
module.exports={ module.exports={
serviceChatMsg, serviceChatMsg,
@ -51,8 +59,11 @@ module.exports={
nation, nation,
job, job,
chatMsg, chatMsg,
hotSickList, hotSickList,
hotSearch, hotSearch,
popup, popup,
kepuList,
AllKepuList,
agreement agreement
} }

View File

@ -58,7 +58,9 @@
"pages/sickManage/sickManage", "pages/sickManage/sickManage",
"pages/sickRecord/sickRecord", "pages/sickRecord/sickRecord",
"pages/sickDetail/sickDetail", "pages/sickDetail/sickDetail",
"pages/videoList/videoList" "pages/videoList/videoList",
"pages/kepuList",
"pages/kepuList/kepuList"
], ],
"independent": false "independent": false
}, },

View File

@ -25,9 +25,9 @@ Component({
this.triggerEvent('handleFocus',true) this.triggerEvent('handleFocus',true)
}, },
goInquirtForm(){ goInquirtForm(){
// wx.navigateTo({ wx.navigateTo({
// url: '/healthyService/pages/visitList/visitList', url: '/patient/pages/agreeList/agreeList',
// }) })
} }
}, },

View File

@ -1,5 +1,5 @@
{ {
"usingComponents": { "usingComponents": {
"van-icon": "@vant/weapp/icon/index"
} }
} }

View File

@ -1,7 +1,12 @@
<!--components/navbar/navbar.wxml--> <!--components/navbar/navbar.wxml-->
<view class="barcontain"> <view class="barcontain">
<view class="barcon"> <view class="barcon">
<text class="text" bindtap="goInquirtForm">肝胆相照互联网医院</text> <text class="text" >肝胆相照互联网医院</text>
<view class="titlebox" bindtap="goInquirtForm">
<image src="{{img_host+'/safe_index.png'}}" mode="" style="width:18rpx;height:22rpx" class="bg"/>
<view class="text"> 国家卫健委认证医疗机构・深耕肝病领域10余年</view>
<van-icon name="arrow" color="#fff" size="20rpx"/>
</view>
<view class="scon"> <view class="scon">
<input type="text" placeholder="输入姓名或医院查找医生" value="{{keyWord}}" disabled="{{true}}" bindtap="handleFocus" confirm-type="search" class="ipt"/> <input type="text" placeholder="输入姓名或医院查找医生" value="{{keyWord}}" disabled="{{true}}" bindtap="handleFocus" confirm-type="search" class="ipt"/>
<image src="{{img_host+'/ss.png'}}" class="ss"></image> <image src="{{img_host+'/ss.png'}}" class="ss"></image>

View File

@ -20,12 +20,13 @@
border-radius: 40rpx; border-radius: 40rpx;
box-shadow: 0px 4px 10px 0px rgba(153, 153, 153, 0.5); box-shadow: 0px 4px 10px 0px rgba(153, 153, 153, 0.5);
align-items: center; align-items: center;
margin-top: 55rpx; margin-top:20rpx;
} }
.barcontain .text { .barcontain .text {
font-size: 40rpx; font-size: 40rpx;
color: #fff; color: #fff;
margin-left: 8rpx;
} }
.barcon .ss { .barcon .ss {
@ -40,4 +41,14 @@
font-size: 32rpx; font-size: 32rpx;
height: 80rpx; height: 80rpx;
}
.titlebox{
font-weight: 400;
margin-top: 15rpx;
display: flex;
align-items: center;
}
.titlebox .text{
font-size: 20rpx;
color: #fff;
} }

View File

@ -12,6 +12,7 @@ Page({
showCode:false, showCode:false,
isOld:false, isOld:false,
codeMsg:'', codeMsg:'',
active:0,
showEntryTip:false, showEntryTip:false,
showEntryTip_second:false, showEntryTip_second:false,
beforeClose(action){ beforeClose(action){
@ -35,13 +36,19 @@ Page({
popupData:null popupData:null
}, },
onChange(event){
console.log(event.detail.name)
this.setData({
active:event.detail.name
})
},
confirm:throttle(function(event){ confirm:throttle(function(event){
if(event.detail){ if(event.detail){
this.handelDelDoctor(); this.handelDelDoctor();
} }
}), }),
goH5:throttle(function(event){ goH5:throttle(function(event){
let {url,name,type}=event.currentTarget.dataset; let {url,name,type,title}=event.currentTarget.dataset;
if(url.indexOf("http")!=-1){ if(url.indexOf("http")!=-1){
let urlName=(decodeURIComponent(url)) let urlName=(decodeURIComponent(url))
if(this.verifySuffix(urlName)){ if(this.verifySuffix(urlName)){
@ -57,7 +64,7 @@ Page({
}else{ }else{
if(type==4){ if(type==4){
app.method.navigateTo({ app.method.navigateTo({
url:'/'+url url:'/'+url+'?title='+title
}) })
}else{ }else{
wx.navigateToMiniProgram({ wx.navigateToMiniProgram({
@ -290,6 +297,16 @@ Page({
// }) // })
}), }),
goHealth:throttle(function(){
app.method.navigateTo({
url: '/healthyService/pages/healthyIntro/healthyIntro'
})
}),
goVisit:throttle(function(){
app.method.navigateTo({
url: '/healthyService/pages/visitList/visitList'
})
}),
watchBack(){ watchBack(){
let total=app.globalData.totalUnread; let total=app.globalData.totalUnread;
setBarData(total) setBarData(total)

View File

@ -3,6 +3,9 @@
"nav-bar": "/components/navbar/navbar", "nav-bar": "/components/navbar/navbar",
"van-overlay": "@vant/weapp/overlay/index", "van-overlay": "@vant/weapp/overlay/index",
"van-dialog": "@vant/weapp/dialog/index", "van-dialog": "@vant/weapp/dialog/index",
"van-tab": "@vant/weapp/tab/index",
"van-tabs": "@vant/weapp/tabs/index",
"van-icon": "@vant/weapp/icon/index",
"dialog":"/components/dialog/dialog" "dialog":"/components/dialog/dialog"
}, },

View File

@ -61,65 +61,84 @@
<view class="wenzhencell" bindtap="goquickExpert"> <view class="wenzhencell" bindtap="goquickExpert">
<view class="row"> <view class="row">
<view class="name_title">找专家</view> <view class="name_title">找专家</view>
<image src="{{img_host+'/find_expert.png'}}" style="width:80rpx;height:80rpx"></image> <!-- <image src="{{img_host+'/find_expert.png'}}" style="width:80rpx;height:80rpx"></image> -->
<!-- <image src="{{img_host+'/kswz.png'}}"></image> --> <image src="{{img_host+'/findexpert.png'}}" mode="" style="width:312rpx;height:182rpx" class="bg"/>
</view> </view>
<view class="desc"> <view class="desc">
专业医生,服务保障 30多位主任医师
</view> </view>
<view class="desc">专业医生,服务保障</view>
</view> </view>
<view class="wenzhencell" bindtap="goExpert"> <!-- goExpert -->
<view class="wenzhencell" bindtap="goconsultandbuy">
<view class="row"> <view class="row">
<view class="name_title">HIV</view> <view class="name_title">问诊购药</view>
<!-- <image src="{{img_host+'/zjwz.png'}}"></image> --> <image src="{{img_host+'/buyandask.png'}}" mode="" style="width:312rpx;height:182rpx" class="bg"/>
<image src="{{img_host+'/hiv.png'}}" style="width:80rpx;height:80rpx"></image> <!-- <image src="{{img_host+'/hiv.png'}}" style="width:80rpx;height:80rpx"></image> -->
</view> </view>
<view class="desc"> <view class="desc">
恐艾咨询,健康指导 30多种常用处方药品
<!-- 专业医生,服务保障 --> </view>
<view class="desc">
正品无忧,品质护航
</view> </view>
</view> </view>
</view> </view>
<view class="buybox" bindtap="goconsultandbuy"> <!-- <view class="buybox" bindtap="goconsultandbuy">
<view class="left"> <view class="left">
<view>问诊购药</view> <view>问诊购药</view>
<view class="desc"> <view class="desc">
正品无忧,品质护航,送药到家 正品无忧,品质护航,送药到家
<!-- 在线复诊,正品无忧,送药到家 -->
</view> </view>
</view> </view>
<view class="right"> <view class="right">
<image src="{{img_host+'/yao.png'}}"></image> <image src="{{img_host+'/yao.png'}}"></image>
</view> </view>
</view> </view> -->
</view> </view>
<view class="cellbox"> <view class="page-section-spacing">
<view class="cell" bindtap="freeConsult"> <scroll-view class="scroll-view_H cellbox" scroll-x="true" style="display: flex;">
<image src="{{img_host+'/gywz.png'}}"></image> <view class="cell" bindtap="freeConsult">
<image src="{{img_host+'/gywz.png'}}" class="cellimg"></image>
<view class="name">特惠问诊</view> <view class="name">特惠问诊</view>
</view> </view>
<view class="cell" bindtap="goMall"> <view class="cell" bindtap="goExpert">
<image src="{{img_host+'/gdmall.png'}}"></image> <!-- <image src="{{img_host+'/gdmall.png'}}" class="cellimg"></image> -->
<view class="name">肝胆商城</view> <image src="{{img_host+'/hiv_index.png'}}" class="cellimg"></image>
<image src="{{img_host+'/tese_red.png'}}" class="tese" mode="widthFix"></image>
<view class="name">合并HIV</view>
</view>
<view class="cell" bindtap="goHealth">
<!-- <image src="{{img_host+'/gdmall.png'}}" class="cellimg"></image> -->
<image src="{{img_host+'/health_package.png'}}" class="cellimg"></image>
<view class="name">健康包</view>
</view>
<view class="cell" bindtap="goVisit">
<!-- <image src="{{img_host+'/gdmall.png'}}" class="cellimg"></image> -->
<image src="{{img_host+'/visit_package.png'}}" class="cellimg"></image>
<view class="name">随访包</view>
</view> </view>
<view class="cell" bindtap="goCheck"> <view class="cell" bindtap="goCheck">
<image src="{{img_host+'/tangzu.png'}}"></image> <image src="{{img_host+'/tangzu.png'}}" class="cellimg"></image>
<view class="name">糖组检测</view> <view class="name">糖组检测</view>
</view> </view>
</view> </scroll-view>
</view>
<view class="ad"> <view class="ad">
<swiper class="swiper" indicator-dots="{{true}}" circular="{{true}}" indicator-active-color="#3CC7C0" autoplay="{{true}}" interval="3000"> <swiper class="swiper" indicator-dots="{{banner.length>1}}" circular="{{true}}" indicator-active-color="#3CC7C0" autoplay="{{true}}" interval="5000">
<block wx:for="{{banner}}" wx:key="banner_id"> <block wx:for="{{banner}}" wx:key="banner_id">
<swiper-item> <swiper-item>
<view class="swiper-item"> <view class="swiper-item">
<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> <image class="swiperimg" src="{{item.banner_path}}" data-url="{{item.banner_link}}" data-name="{{item.banner_name}}" data-type="{{item.open_with}}" bindtap="goH5" data-title="{{item.title}}"></image>
</view> </view>
</swiper-item> </swiper-item>
</block> </block>
</swiper> </swiper>
</view> </view>
<view class="mydoctor" wx:if="{{my_doctor.length>0}}"> <!-- <view class="mydoctor" wx:if="{{my_doctor.length>0}}">
<view class="titlebox"> <view class="titlebox">
<view class="title">我的医生</view> <view class="title">我的医生</view>
<view class="more" wx:if="{{my_doctor.length>5}}" bindtap="goMydoctor">更多<image src="{{img_host+'/right.png'}}"></image> <view class="more" wx:if="{{my_doctor.length>5}}" bindtap="goMydoctor">更多<image src="{{img_host+'/right.png'}}"></image>
@ -148,11 +167,19 @@
</view> </view>
</view> </view>
<view class="recommend" wx:if="{{recommend_doctor.length>0}}"> -->
<view class="recommend">
<view class="titlebox"> <view class="titlebox">
<view class="title">推荐医生</view> <!-- <view class="title"></view> -->
<van-tabs v-model:active="active" line-width="25rpx" shrink ellipsis="{{false}}" color="#3CC7C0" bind:change="onChange">
<van-tab title="在线推荐" name="0"></van-tab>
<van-tab title="我的医生" name="1"></van-tab>
</van-tabs>
<!-- <view class="more" bindtap="goquickExpert">更多<van-icon name="arrow" style="margin-top: 4rpx;"/></view> -->
</view> </view>
<view class="viewbox"> <!-- 在线医生 -->
<view class="viewbox" wx:if="{{active==0}}">
<view class="viewcell" wx:for="{{recommend_doctor}}" wx:key="doctor_id" bindtap="goExpertDetail" data-id="{{item.doctor_id}}"> <view class="viewcell" wx:for="{{recommend_doctor}}" wx:key="doctor_id" bindtap="goExpertDetail" data-id="{{item.doctor_id}}">
<view class="left"> <view class="left">
<image src="{{item.avatar}}" wx:if="{{item.avatar}}" mode="aspectFill"></image> <image src="{{item.avatar}}" wx:if="{{item.avatar}}" mode="aspectFill"></image>
@ -181,6 +208,35 @@
</view> </view>
</view> </view>
</view> </view>
<!-- 我的医生 -->
<view class="viewbox" wx:else>
<view class="viewcell" wx:for="{{my_doctor}}" wx:key="doctor_id" bindtap="goExpertDetail" data-id="{{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.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_level_name != '未知'&& item.hospital_level_name}}">{{item.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="doctor_title" wx:if="{{item.doctor_title}}">{{item.doctor_title}}</text><text>{{item.department_custom_name}}</text></view>
<view class="hospital">{{item.hospital_name}}</view>
<view class="goodjob" wx:if="{{item.be_good_at}}">擅长:{{item.be_good_at}}</view>
<view class="consultbox" style="align-items: center;margin-top: 10rpx;">
<view class="service">{{item.days}}天内服务过您</view>
<view class="zixun">复诊咨询</view>
</view>
<!-- <view class="p
rice" wx:if="{{moduleFilter.formatInquiryType(item.doctor_inquiry_config)==1}}">公益问诊:<text>¥{{item.free_clinic_price}}</text></view>
<view class="price" wx:elif="{{moduleFilter.formatInquiryType(item.doctor_inquiry_config)==2}}">专家问诊:<text>¥{{item.price}}</text></view>
<view class="price" wx:else></view> -->
</view>
</view>
<view class="nonedata" wx:if="{{my_doctor.length==0}}" style="background:#fff">暂无医生!</view>
</view>
</view> </view>
</view> </view>

View File

@ -19,11 +19,22 @@
} }
.wenzhencell { .wenzhencell {
flex: 1; position: relative;
padding: 20rpx 20rpx 40rpx; width:312rpx;
background: #E0FFFE; height:182rpx;
/* flex: 1;
padding: 20rpx 20rpx 40rpx; */
border-radius: 10rpx; border-radius: 10rpx;
} }
.wenzhencell .bg{
top:0;
left:0;
width:100%;
margin-left: 0;
bottom:0;
position: absolute;
}
.wenzhencell image { .wenzhencell image {
width: 80rpx; width: 80rpx;
@ -55,13 +66,20 @@
font-size: 40rpx; font-size: 40rpx;
} }
.wenzhencell .row .name_title{ .wenzhencell .row .name_title{
width:160rpx width:160rpx;
margin-top: 20rpx;
position: relative;
margin-left: 16rpx;
z-index:1;
} }
.wenzhencell .desc { .wenzhencell .desc {
position: relative;
z-index:1;
margin-left: 16rpx;
margin-top: 16rpx; margin-top: 16rpx;
color: #666; font-size: 22rpx;
font-size: 28rpx; color: #878787;
} }
.buybox { .buybox {
@ -99,32 +117,60 @@
} }
.cellbox .cell { .cellbox .cell {
padding: 28rpx 0; position: relative;
display: flex; display: inline-flex;
width: 216rpx; width:150rpx;
height:144rpx;
flex-direction: column; flex-direction: column;
justify-content: center;
align-items: center; align-items: center;
background-color: #fff; background-color: #fff;
margin-left: 20rpx; margin-left: 20rpx;
border-radius: 10rpx; border-radius: 10rpx;
} }
.cellbox .tese{
position: absolute;
right:0;
top:0;
width: 90rpx;
}
.cellbox .cell:first-child { .cellbox .cell:first-child {
margin-left: 0rpx; margin-left: 0rpx;
} }
.cellbox .cellimg{
margin-top: 14rpx;
width:72rpx;
height:72rpx;
}
.cellbox image { .cellbox image {
width: 98rpx; width: 98rpx;
height: 98rpx; height: 98rpx;
} }
.cellbox .name { .cellbox .name {
font-size: 28rpx; font-size: 24rpx;
font-weight: 600; margin-top: 5rpx;
margin-top: 18rpx; color: #000;
color: #333; }
.consultbox .service{
border:none;
font-size: 24rpx;
color: #3CC7C0;
padding: 0;
margin-top: 0;
}
.consultbox .zixun{
width: 160rpx;
height: 60rpx;
display: flex;
justify-content: center;
align-items: center;
background: #3CC7C0;
border-radius: 30rpx;
font-weight: 400;
font-size: 28rpx;
color: #FFFFFF;
} }
.ad { .ad {
width: 100%; width: 100%;
@ -136,21 +182,38 @@
border-radius: 10rpx; border-radius: 10rpx;
} }
.swiper{ .swiper{
height:168rpx; height:140rpx;
overflow: hidden;
border-radius: 10rpx;
} }
.swiper-item .swiperimg{ .swiper-item .swiperimg{
width:100%; width:100%;
border-radius: 10rpx; border-radius: 10rpx;
height:110rpx; height:140rpx;
} }
.mydoctor { .mydoctor {
width: 100%; width: 100%;
} }
.titlebox .van-tab--active{
font-size: 30rpx;
font-weight: bold;
}
.titlebox .van-tabs__line{
bottom:16rpx;
}
.titlebox .more{
margin-right: 20rpx;
display: flex;
font-size: 28rpx;
color: #666666;
align-items: center;
}
.titlebox { .titlebox {
margin-top: 10rpx; margin-top: 10rpx;
display: flex; display: flex;
padding: 20rpx 0; background-color: #fff;
/* padding: 20rpx 0; */
width: 100%; width: 100%;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
@ -305,6 +368,10 @@
justify-content: center; justify-content: center;
align-items: center; align-items: center;
} }
.recommend{
overflow: hidden;
border-radius: 30rpx;
}
.service { .service {
height: 40rpx; height: 40rpx;
border-radius: 20rpx; border-radius: 20rpx;
@ -320,7 +387,7 @@
.viewbox { .viewbox {
width: 100%; width: 100%;
overflow: hidden; overflow: hidden;
border-radius: 10rpx; margin-top: -20rpx;
margin-bottom: 10rpx; margin-bottom: 10rpx;
} }

View File

@ -102,7 +102,7 @@
</view> </view>
<view class="dcell" bindtap="goAgreement"> <view class="dcell" bindtap="goAgreement">
<view class="decllbox"> <view class="decllbox">
<view class="name">资质协议和患者知情同意书</view> <view class="name">资质协议</view>
<image src="{{img_host+'/righticon.png'}}" class="righticon"></image> <image src="{{img_host+'/righticon.png'}}" class="righticon"></image>
</view> </view>
</view> </view>

View File

@ -1,9 +1,7 @@
// pages/expertConsult/expertConsult.js // pages/expertConsult/expertConsult.js
const app = getApp() const app = getApp()
import {doctorList,getProvince,getCity,getCountry} from "../../../api/consultExpert" import {doctorList} from "../../../api/consultExpert"
import {sickType} from "../../../api/common" import {AllKepuList} from "../../../api/common"
let provinceArr=[{area_id:'', area_name: "全国"}];
let cityArr=[];
import {throttle} from "../../../utils/util" import {throttle} from "../../../utils/util"
Page({ Page({
@ -19,6 +17,7 @@ Page({
province_id:'', province_id:'',
city_id:'', city_id:'',
keyword:'', keyword:'',
articeList:[],
lock:false, lock:false,
is_online:0, is_online:0,
sort_order:1, sort_order:1,
@ -36,6 +35,7 @@ Page({
{ text: '服务数从多到少', value: 5}, { text: '服务数从多到少', value: 5},
], ],
overlay:true, overlay:true,
showBg:false,
selectkind:false, selectkind:false,
selectkarea:false, selectkarea:false,
position:"全国", position:"全国",
@ -62,33 +62,34 @@ Page({
delta: 1, delta: 1,
}) })
}, },
getArticleList(){
AllKepuList({
basic_class_id:1
}).then((res)=>{
console.log(res);
this.setData({
articeList:res
});
})
},
goArticle:throttle(function(event){
app.method.navigateTo({
url:"/patient/pages/linkPage/linkPage?url="+encodeURIComponent(event.currentTarget.dataset.url)
})
}),
goHivList:throttle(function(){
app.method.navigateTo({
url:"/patient/pages/kepuList/kepuList?title="+encodeURIComponent('关于HIV你知道多少')+"&id=1"
})
}),
toggleOnline(){ toggleOnline(){
this.setData({ this.setData({
is_online:this.data.is_online==0?1:0 is_online:this.data.is_online==0?1:0
}) })
this.onfresh(); this.onfresh();
}, },
onScroll(event) {
let {doctorList}=this.data;
wx.createSelectorQuery().select('#scroller')
.boundingClientRect((res) => {
let H=0;
if(event.detail.scrollTop>78){
if(doctorList.length<=3){
H=53;
}else{
H=1;
}
}else{
H=53
}
this.setData({
scrollHeight:H
});
}).exec();
},
transforpage(arr) { transforpage(arr) {
const pages = []; const pages = [];
let L= Math.ceil(arr.length / 2); let L= Math.ceil(arr.length / 2);
@ -200,13 +201,7 @@ Page({
/** /**
* 生命周期函数--监听页面加载 * 生命周期函数--监听页面加载
*/ */
getSickType(){
sickType().then((res)=>{
this.setData({
sickList:this.transforpage(res)
})
})
},
handleRefresher(){ handleRefresher(){
this.setData({ this.setData({
@ -235,11 +230,15 @@ Page({
if(res.data.length==0){ if(res.data.length==0){
this.setData({ this.setData({
lock:true, lock:true,
showBg:true,
isTriggered:false isTriggered:false
}); });
this.getArticleList();
return false; return false;
}else{ }else{
this.setData({ this.setData({
showBg:true,
isTriggered:false, isTriggered:false,
doctorList:doctorList.concat(res.data) doctorList:doctorList.concat(res.data)
}) })
@ -248,51 +247,18 @@ Page({
}) })
}, },
provinceList(){ onScroll(event) {
getProvince().then((res)=>{
provinceArr= provinceArr.concat(res); wx.createSelectorQuery().select('#scroller')
let province=[{area_id:'', area_name: "全国"}];// .boundingClientRect((res) => {
for (let i = 0; i < res.length; i++) { console.log(event.detail.scrollTop)
province.push(res[i]); if(event.detail.scrollTop>1600){
}; this.lower();
this.setData({ }
'columns[0].values':province
})
//this.cityList(province[0].area_id); }).exec();
},
})
},
cityList(area_id){
getCity({
area_id:area_id
}).then((res)=>{
cityArr=res;
let city=[];
for (let i = 0; i < res.length; i++) {
city.push(res[i]);
};
this.setData({
'columns[1].values':city,
})
//this.countryList(res[0].area_id);
})
},
countryList(area_id){
getCountry({
area_id:area_id
}).then((res)=>{
let area=[];
for (let i = 0; i < res.length; i++) {
area.push(res[i]);
};
this.setData({
'columns[2].values':area,
isLoding:false
})
})
},
onfresh(){ onfresh(){
this.setData({ this.setData({
page:1, page:1,
@ -331,9 +297,9 @@ Page({
inquiry_mode:1 inquiry_mode:1
}) })
} }
this.getSickType();
this.getDoctorList(); this.getDoctorList();
this.provinceList();
}, },
@ -398,7 +364,20 @@ Page({
onReachBottom() { onReachBottom() {
}, },
onShareTimeline(){
return {
title:'恐艾咨询', // 分享出去的标题
path:'patient/pages/hivConsult/hivConsult' // 分享出去的页面路径
}
},
// 分享到微信好友
onShareAppMessage(res) {
return {
title:'恐艾咨询', // 分享出去的标题
path:'patient/pages/hivConsult/hivConsult' // 分享出去的页面路径
}
},
/** /**
* 用户点击右上角分享 * 用户点击右上角分享
*/ */

View File

@ -1,9 +1,6 @@
{ {
"usingComponents": { "usingComponents": {
"van-dropdown-menu": "@vant/weapp/dropdown-menu/index", "van-image": "@vant/weapp/image/index",
"van-dropdown-item": "@vant/weapp/dropdown-item/index",
"van-picker": "@vant/weapp/picker/index",
"van-popup": "@vant/weapp/popup/index", "van-popup": "@vant/weapp/popup/index",
"van-sticky": "@vant/weapp/sticky/index", "van-sticky": "@vant/weapp/sticky/index",
"nav":"../../../components/nav/nav" "nav":"../../../components/nav/nav"

View File

@ -2,37 +2,12 @@
<nav navName="HIV"></nav> <nav navName="HIV"></nav>
<wxs src="../../../filters/filter.wxs" module="moduleFilter"></wxs> <wxs src="../../../filters/filter.wxs" module="moduleFilter"></wxs>
<view class="wraper"> <view class="wraper" style="height:calc(100vh - 180rpx);">
<view class="containexpert" style="{{'height:'+scrollHeight+'px'}}"> <scroll-view scroll-y style="overflow-y: scroll;width: 100%;flex:1;" bindrefresherrefresh="handleRefresher" refresher-triggered="{{isTriggered}}"
<view class="searchbox"> bindscroll="onScroll"
<input type="text" placeholder="输入姓名或医院查找医生" disabled="{{true}}" bindtap="goSearch" bindconfirm="getIptvalue"/> refresher-threshold="800" refresher-enabled="true" bindscrolltolower="lower" id="scroller" bounces="false">
<image src="{{img_host+'/ss.png'}}"></image> <image src="{{img_host+'/hiv_bg.png'}}" mode="widthFix" class="bananerimg"/>
</view> <view wx:if="{{doctorList.length>0}}" style="margin:-120rpx 20rpx 0;background: #fff;border-radius: 20rpx;position:realtive; z-index:1;padding-bottom: 20rpx;">
<view class="page-section-spacing" >
<scroll-view class="scroll-view_H" scroll-x="true" style="width: 100%">
<view class="row" wx:for="{{sickList}}" wx:for-index="idx" wx:for-item="itemName" wx:key="idx">
<view class="scroll-view-item_H {{tabId==item.expertise_id?'active':''}}" wx:for="{{itemName}}" wx:key="expertise_id" data-id="{{item.expertise_id}}" bindtap="switchTab" >{{item.expertise_name}}</view>
</view>
</scroll-view>
</view>
</view>
<view class="dropdown">
<van-dropdown-menu active-color="#3CC7C0" overlay="{{overlay}}" style="width:66.66%;position: relative;">
<view class="bar"></view>
<van-dropdown-item title-class="droptitle {{selectarea?'active':''}}" title="{{position}}" bind:open="openCity" bind:close="closeCity" id="item" popup-style="itemPop" > </van-dropdown-item>
<view class="dropbar"></view>
<van-dropdown-item title-class="droptitle {{selectkind?'active':''}}" value="{{ sort_order }}" options="{{ option }}" bind:change="changeSorder" />
</van-dropdown-menu>
<view class="dropOnline {{is_online==1?'active':''}}" bindtap="toggleOnline">优先在线</view>
</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" bind:scroll="onScroll" 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="viewcell" bindtap="goExpertDetail" wx:for="{{doctorList}}" wx:key="doctor_id" data-doctorid="{{item.doctor_id}}">
<view class="left"> <view class="left">
@ -68,35 +43,34 @@
</view> </view>
</view> </view>
</view> </view>
<view class="nonedata" wx:else>暂无数据!</view>
<!-- <view class="viewcell"> <!-- <view class="nonedata" wx:else>暂无数据!</view> -->
<view class="left"> <view class="bar_classify" ></view>
<image src="https://img.applets.igandanyiyuan.com/applet/patient/static/home.png"></image> <view class="classify" wx:if="{{articeList.length>0}}">
</view>
<view class="right"> <view class="titlename">
<view class="namebox"> <view>关于HIV你知道多少</view>
<view class="name">魏胜昭</view> <view class="more" bind:tap="goHivList">更多<image src="{{img_host+'/right.png'}}" mode="widthFix" class="moreimg"></image></view>
<view class="position"> 教授</view> </view>
<view class="type">三甲</view> <view class="classifybox">
<view class="type">可处方</view> <view class="cell" wx:for="{{articeList}}" wx:key="article_id" bind:tap="goArticle" data-url="{{item.article_url}}">
</view> <view class="left">
<view class="hospital">首都医科大学佑安医院 <text decode="true">&nbsp;耳鼻科</text></view> <view class="title">{{item.article_title}}</view>
<view class="goodjob">擅长:治疗耳鼻喉疑难病。比如: 人工关节置换、传导性耳聋、人工晶体植入、肾移···</view> <view class="origin">
<view class="diseaseType">中西医结合</view> <image src="{{item.article_science_source.source_image}}" mode="heightFix" class="logo" wx:if="{{item.article_science_source.source_image}}"/>
<view class="detail"> <view class="originname">{{item.article_science_source.source_name}}</view>
<view>好评率: <text>5 </text> </view> </view>
<view>服务患者数: <text>100</text></view> </view>
<view>平均回复: <text> 0.5h </text></view> <van-image class="article_img" width="254rpx" height="154rpx" radius="10rpx" fit="cover" src="{{item.article_image}}" />
</view>
<view class="consultbox">
<view class="price">公益问诊:<text>¥100</text></view> </view>
<view class="consult">立即咨询</view> </view>
</view> </view>
</view>
</view> -->
</scroll-view> </scroll-view>
</view>
</view> </view>
<van-popup <van-popup
show="{{ show }}" show="{{ show }}"

View File

@ -1,6 +1,6 @@
/* pages/expertConsult/expertConsult.wxss */ /* pages/expertConsult/expertConsult.wxss */
.wraper{ .wraper{
background: #F2F2F2;
height: 100%; height: 100%;
} }
.containexpert{ .containexpert{
@ -95,12 +95,14 @@
box-sizing: border-box; box-sizing: border-box;
padding:40rpx 30rpx 30rpx; padding:40rpx 30rpx 30rpx;
width:100%; width:100%;
border-radius: 10rpx; border-radius: 10rpx;
background-color: #fff; background-color: #fff;
border-bottom: 1rpx solid #E7E7E7; border-bottom: 1rpx solid #E7E7E7;
} }
.viewcell:last-child{ .viewcell:last-child{
border-bottom: none; border-bottom: none;
} }
.viewcell .type{ .viewcell .type{
height: 32rpx; height: 32rpx;
@ -226,11 +228,22 @@ font-size: 30rpx;
} }
.wraper{ .wraper{
overflow: hidden;
margin-top: 172rpx;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
}
.bananerimg{
position: relative;
width:750rpx;
z-index:-2;
} }
.scrollwraper{ .scrollwraper{
flex: 1; overflow: hidden;
flex:1;
overflow-y: scroll; overflow-y: scroll;
-webkit-overflow-scrolling: touch; -webkit-overflow-scrolling: touch;
} }
@ -303,4 +316,86 @@ font-size: 30rpx;
} }
.nonekaitong text{ .nonekaitong text{
font-size: 30rpx; font-size: 30rpx;
}
.classify{
overflow: hidden;
margin:0 20rpx;
padding-bottom: 40rpx;
border-radius: 20rpx;
}
.bar_classify{
background: #F2F2F2;
width:100%;
height:30rpx;
}
.classify .cell{
overflow: hidden;
border-bottom: 1rpx solid #E7E7E7;
display: flex;
align-items: center;
justify-content: space-between;
padding:30rpx 30rpx;
background-color: #fff;
}
.classify .article_img{
border-radius: 10rpx;
width: 254rpx;
object-fit: cover;
height: 154rpx;
}
.classify .title{
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
text-overflow: ellipsis;
font-weight: 400;
line-height: 43rpx;
font-size: 30rpx;
color: #333333;
}
.classify .origin{
display: flex;
align-items:center ;
}
.classify .titlename{
justify-content: space-between;
border-bottom: 1rpx solid #E7E7E7;
height: 106rpx;
background: #FFFFFF;
display: flex;
padding:0 32rpx;
font-weight: 500;
font-size: 34rpx;
color: #333333;
align-items: center;
}
.classify .more{
font-size: 30rpx;
display: flex;
align-items: center;
}
.moreimg{
width:14rpx;
margin-left: 10rpx;
}
.classify .left{
flex:1;
margin-right: 28rpx;
display: flex;
height: 154rpx;
flex-direction: column;
justify-content: space-between;
}
.classify .originname{
font-size: 24rpx;
color: #666666;
}
.classify .logo{
margin-right: 10rpx;
height:38rpx;
} }

66
patient/pages/kepuList.js Normal file
View File

@ -0,0 +1,66 @@
// patient/pages/kepuList.js
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

View File

@ -0,0 +1,3 @@
{
"usingComponents": {}
}

View File

@ -0,0 +1,2 @@
<!--patient/pages/kepuList.wxml-->
<text>patient/pages/kepuList.wxml</text>

View File

@ -0,0 +1 @@
/* patient/pages/kepuList.wxss */

View File

@ -0,0 +1,135 @@
// patient/pages/kepuList/kepuList.js
import {kepuList} from "../../../api/common"
import {throttle} from "../../../utils/util"
const app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
isTriggered:false,
page:1,
title:'科普文章',
keyword:'',
basic_class_id:'',
lock:false,
list:[]
},
handleRefresher(){
this.setData({
lock:false,
page:1,
list:[]
});
this.getList()
},
getList(){
let {page,keyword,basic_class_id}=this.data;
kepuList({
keyword:keyword,
page:page,
basic_class_id,
per_page:10
}).then((res)=>{
console.log(res)
let {list}=this.data;
if(res.data.length==0){
this.setData({
lock:true,
isTriggered:false
});
return false;
}else{
this.setData({
isTriggered:false,
list:list.concat(res.data)
})
}
console.log(this.data.list)
})
},
goArticle:throttle(function(event){
app.method.navigateTo({
url:"/patient/pages/linkPage/linkPage?url="+encodeURIComponent(event.currentTarget.dataset.url)
})
}),
lower(e) {
let {lock}=this.data;
let addPage=this.data.page+1;
if(!lock){
this.setData({
page:addPage
});
this.getList();
}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
if(options.title){
this.setData({
title: decodeURIComponent(options.title)
});
}
if(options.id){
this.setData({
basic_class_id:options.id
})
}
this.getList()
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

View File

@ -0,0 +1,8 @@
{
"usingComponents": {
"nav":"../../../components/nav/nav",
"van-image": "@vant/weapp/image/index"
},
"navigationStyle":"custom",
"disableScroll":true
}

View File

@ -0,0 +1,18 @@
<!--patient/pages/kepuList/kepuList.wxml-->
<nav navName="{{title}}"></nav>
<view class="scrollwraper">
<scroll-view scroll-y style="width: 100%;height:100%" bindrefresherrefresh="handleRefresher" refresher-triggered="{{isTriggered}}" refresher-threshold="200" refresher-enabled="true" bindscrolltolower="lower" id="scroller" bounces="false">
<view class="cell" wx:for="{{list}}" wx:key="article_id" bind:tap="goArticle" data-url="{{item.article_url}}">
<view class="left">
<view class="title">{{item.article_title}}</view>
<view class="origin">
<image src="{{item.article_science_source.source_image}}" mode="heightFix" class="logo" wx:if="{{item.article_science_source.source_image}}"/>
<view class="originname">{{item.article_science_source.source_name}}</view>
</view>
</view>
<van-image class="article_img" width="254rpx" height="154rpx" radius="10rpx" fit="cover" src="{{item.article_image}}" />
<!-- <image src="{{item.article_image}}" mode="" class="article_img"/> -->
</view>
</scroll-view>
</view>

View File

@ -0,0 +1,53 @@
/* patient/pages/kepuList/kepuList.wxss */
.scrollwraper{
margin-top: 172rpx;
height:calc(100vh - 172rpx);
}
.cell{
overflow: hidden;
border-bottom: 1rpx solid #E7E7E7;
display: flex;
margin:0 30rpx;
align-items: center;
justify-content: space-between;
padding:30rpx 0;
background-color: #fff;
}
.article_img{
border-radius: 10rpx;
width: 254rpx;
object-fit: cover;
height: 154rpx;
}
.title{
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
text-overflow: ellipsis;
font-weight: 400;
line-height: 43rpx;
font-size: 30rpx;
color: #333333;
}
.origin{
display: flex;
align-items:center ;
}
.left{
flex:1;
margin-right: 28rpx;
display: flex;
height: 154rpx;
flex-direction: column;
justify-content: space-between;
}
.originname{
font-size: 24rpx;
color: #666666;
}
.logo{
margin-right: 10rpx;
height:38rpx;
}