2024-12-09 14:29:42 +08:00

385 lines
7.7 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// pages/expertConsult/expertConsult.js
const app = getApp()
import {doctorList} from "../../../api/consultExpert"
import {AllKepuList} from "../../../api/common"
import {throttle} from "../../../utils/util"
Page({
/**
* 页面的初始数据
*/
data: {
page:1,
pageNumber:10,
isTriggered:false,
show:false,
expertise_id:21,
province_id:'',
city_id:'',
keyword:'',
articeList:[],
lock:false,
is_online:0,
sort_order:1,
inquiry_type:'1,3',
inquiry_mode:'1,2',
navName:"专家问诊",
scrollHeight:53,
sickList:[],
img_host:'https://oss.prod.applets.igandanyiyuan.com/applet/patient/static',
option: [
{ text: '综合', value: 1 },
{ text: '响应时间快', value: 2 },
{ text: '价格从低到高', value: 3 },
{ text: '价格从高到低', value: 4 },
{ text: '服务数从多到少', value: 5},
],
overlay:true,
showBg:false,
selectkind:false,
selectkarea:false,
position:"全国",
doctorList: [],
triggered: false,
scrollTop: 0,
offsetTop: 0,
columns: [
{
values:[],
className: 'column1',
},
{
values: [],
className: 'column2',
defaultIndex: 1,
}
],
isLoding:false,
tabId:-1
},
goBack(){
wx.navigateBack({
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(){
this.setData({
is_online:this.data.is_online==0?1:0
})
this.onfresh();
},
transforpage(arr) {
const pages = [];
let L= Math.ceil(arr.length / 2);
arr.forEach((item, index) => {
const page = Math.floor(index / L)
if (!pages[page]) {
pages[page] = []
}
pages[page].push(item)
});
return pages
},
goSearch:throttle(function(){
wx.hideKeyboard();
app.method.navigateTo({
url: '/patient/pages/search/search',
})
}),
switchTab(event){
this.setData({
tabId:event.target.dataset.id,
expertise_id:event.target.dataset.id
})
this.onfresh();
},
changeSorder({ detail }){
this.setData({
sort_order: detail,
selectkind:true
});
this.onfresh();
},
getIptvalue(event){
this.setData({
keyword:event.detail.value
})
this.onfresh();
},
goExpertDetail:throttle(function(event){
app.method.navigateTo({
url: '/patient/pages/expertDetail/expertDetail?doctor_id='+event.currentTarget.dataset.doctorid
})
}),
openCity(){
this.setData({
show:true,
overlay:false
})
},
closeCity(){
this.setData({
show:false,
overlay:true
})
},
onChange(event) {
const { picker, value, index } = event.detail;
if(index===0){
let currentIndex=picker.getIndexes()[0];
if(provinceArr[currentIndex].area_id){
this.cityList(provinceArr[currentIndex].area_id);
}else{
this.setData({
'columns[1].values':[]
})
}
}
},
onConfirm(event) {
const { picker, value, index } = event.detail;
let currentPosition=''
for (let index = 0; index < value.length; index++) {
if(!value[0].area_id){
currentPosition="全国";
this.setData({
province_id:'',
city_id:''
})
}else{
currentPosition+=value[index].area_name;
if(index===0){
this.setData({
province_id:value[index].area_id
})
}else if(index==1){
this.setData({
city_id:value[index].area_id
})
}
}
}
this.setData({
show:false,
selectarea:true,
position:currentPosition
})
this.selectComponent('#item').toggle();
this.onfresh();
},
onCancel() {
this.setData({
show:false
})
this.selectComponent('#item').toggle(false);
},
/**
* 生命周期函数--监听页面加载
*/
handleRefresher(){
this.setData({
lock:false,
page:1,
scrollHeight:53,
doctorList:[]
});
this.getDoctorList()
},
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,
showBg:true,
isTriggered:false
});
this.getArticleList();
return false;
}else{
this.setData({
showBg:true,
isTriggered:false,
doctorList:doctorList.concat(res.data)
})
}
})
},
onScroll(event) {
wx.createSelectorQuery().select('#scroller')
.boundingClientRect((res) => {
console.log(event.detail.scrollTop)
if(event.detail.scrollTop>1600){
this.lower();
}
}).exec();
},
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();
}
},
onLoad(options) {
if(options.type=="free"){
wx.setNavigationBarTitle({
title: "特惠问诊"
});
this.setData({
navName:"特惠问诊",
inquiry_type:3,
inquiry_mode:1
})
}else if(options.type=="buyYao"){
wx.setNavigationBarTitle({
title: "问诊购药"
});
this.setData({
navName:"问诊购药",
inquiry_type:4,
inquiry_mode:1
})
}
this.getDoctorList();
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
onRefresh() {
if (this._freshing) return
this._freshing = true
setTimeout(() => {
this.setData({
triggered: false,
})
this._freshing = false
}, 3000)
},
onRestore(e) {
console.log('onRestore:', e)
},
onAbort(e) {
console.log('onAbort', e)
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
this.setData({
img_host:app.hostConfig().imghost
});
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
onShareTimeline(){
return {
title:'恐艾咨询', // 分享出去的标题
path:'patient/pages/hivConsult/hivConsult' // 分享出去的页面路径
}
},
// 分享到微信好友
onShareAppMessage(res) {
return {
title:'恐艾咨询', // 分享出去的标题
path:'patient/pages/hivConsult/hivConsult' // 分享出去的页面路径
}
},
/**
* 用户点击右上角分享
*/
})