yuminge-app/yun-min-program-plugin-master/packageE/appointment/search/search.js

338 lines
6.8 KiB
JavaScript

// packageE/appointment/search/search.js
const app = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
appointmentLang: {},
status: "1",
category: {},
show1: false,
show2: false,
className: [],
url: "",
json: {},
sort: "asc",
point: {},
kwd: "",
projectList: [],
//more
isLoadMore: true,
page: 1,
total_page: 0
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.setData({
appointmentLang: wx.getStorageSync('yz_basic_info').lang.appointment,
city: options.city,
point: JSON.parse(options.point)
});
wx.setNavigationBarTitle({
title: "搜索" + this.data.appointmentLang.project + '/' + this.data.appointmentLang.worker
});
this.init();
this.getClass();
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
if (this.data.isLoadMore) {
this.getMoreData();
} else {
console.log('没有更多数据');
}
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
},
goProject(e) {
let id = e.currentTarget.dataset.id;
let point = JSON.stringify(this.data.point);
wx.navigateTo({
url: '/packageE/appointment/ProjectDetails/ProjectDetails?project_id=' + id + '&point=' + point,
});
},
toTechnicianDetails(e) {
let id = e.currentTarget.dataset.id;
let point = JSON.stringify(this.data.point);
wx.navigateTo({
url: '/packageE/appointment/technician_details/technician_details?worker_id=' + id + '&point=' + point,
});
},
bind(e) {
this.setData({
kwd: e.detail.value
});
},
goBack() {
let pages = getCurrentPages();
if (pages.length <= 1) {
wx.reLaunch({
url: '/packageG/index/index',
});
} else {
wx.navigateBack({ //返回
delta: 1
});
}
},
getClass() {
let that = this;
let urlStr = app.getNetAddresss("plugin.appointment.frontend.project-category.get-list");
app._getNetWork({
url: urlStr,
data: {},
success: function (resdata) {
var res = resdata.data;
if (res.result == 1) {
that.setData({
className: res.data
});
} else {
wx.showToast({
icon: 'none',
title: res.msg,
duration: 1500
});
}
},
fail: function (res) {
console.log(res);
}
});
},
close() {
this.setData({
show1: false
});
},
evaluateBtn() {
if (this.data.sort == "asc") {
this.setData({
sort: "desc"
});
} else {
this.setData({
sort: "asc"
});
}
this.setData({
page: 1,
isLoadMore: true,
total_page: 0,
show1: false
});
this.getData();
},
selectType(e) {
let type = e.currentTarget.dataset.type;
if (type == this.data.status) {
this.setData({
show2: false
});
return;
}
this.setData({
status: type,
projectList: []
});
this.getData();
if (this.data.status === "2") {
this.setData({
category: {},
});
}
this.setData({
show2: false,
});
},
showProject() {
this.setData({
show1: false,
show2: !this.data.show2
});
},
showClass() {
if (this.data.status === "2") {
return;
}
this.setData({
show2: false,
show1: !this.data.show1
});
},
init() {
this.setData({
projectList: [],
kwd: '',
category: {},
status: '1',
show1: false,
show2: false,
sort: 'asc',
isLoadMore: true,
total_page: 0,
'json.page': 1
});
},
selectionBtn(e) {
let item = e.currentTarget.dataset.item;
if (!item.name) {
this.setData({
category: {}
});
} else {
this.setData({
category: item
});
}
this.setData({
page: 1,
isLoadMore: true,
total_page: 0,
show1: false
});
this.getData();
},
getData() {
this.setData({
json: {},
});
if (this.data.status === "1") {
this.setData({
'json.sort': this.data.sort,
'json.category_id': this.data.category.id,
'json.name': this.data.kwd,
'json.page': 1,
url: app.getNetAddresss("plugin.appointment.frontend.project.get-list")
});
} else {
this.setData({
'json.lng': this.data.point.lng,
'json.lat': this.data.point.lat,
'json.city_name': this.data.city,
'json.kwd': this.data.kwd,
'json.page': 1,
url: app.getNetAddresss("plugin.appointment.frontend.worker.get-workers-by-name")
});
}
app._getNetWork({
url: this.data.url,
data: this.data.json,
success: (resdata) => {
var response = resdata.data;
if (response.result == 1) {
this.setData({
isLoadMore: true,
total_page: response.data.last_page,
projectList: response.data.data
});
if (!this.data.total_page) {
this.setData({
total_page: 0
});
}
} else {
wx.showToast({
title: response.msg,
icon: 'none'
});
}
},
fail: function (res) {
console.log(res);
}
});
},
getMoreData() {
this.setData({
isLoadMore: false
});
// 防止多次请求分页数据
if (this.data.page >= this.data.total_page) {
return;
} else {
let page = this.data.page + 1;
this.setData({
page
});
app._getNetWork({
url: this.data.url,
data: this.data.json,
success: (resdata) => {
var response = resdata.data;
if (response.result == 1) {
var myData = response.data.data.concat(this.data.projectList);
this.setData({
projectList: myData
});
} else {
wx.showToast({
title: response.msg,
icon: 'none'
});
let pages = this.data.page - 1;
this.setData({
page: pages,
isLoadMore: false
});
}
},
fail: function (res) {
console.log(res);
}
});
}
},
});