265 lines
6.4 KiB
JavaScript
265 lines
6.4 KiB
JavaScript
const { default: DPagination } = require("../../../utils/DPagination");
|
|
const { getProjectNameLang, getLocation } = require("../common");
|
|
|
|
// packageH/project_verification/MyProject/MyProject.js
|
|
const App = getApp();
|
|
const GetUnUseProjectUrl = App.getNetAddresss("plugin.store-projects.frontend.project-order.get-un-finish-list");
|
|
const GetUsedProjectUrl = App.getNetAddresss("plugin.store-projects.frontend.project-order.get-finish-list");
|
|
const ProjectsPagination = new DPagination("projects");
|
|
let Location = null;
|
|
Page({
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
currentShowPageTab: "0",
|
|
projects: {},
|
|
projectCount: 0,
|
|
projectNameLang: getProjectNameLang(),
|
|
showGivePop: false,
|
|
giveInfo: {},
|
|
Location: {},
|
|
giveUserId:'',
|
|
giveNum:'',
|
|
nickname:"",
|
|
errorFlag:false,
|
|
errorMsg:'',
|
|
timeStyle:"0",
|
|
addressValue:""
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad: async function (options) {
|
|
if(options.Location){
|
|
let Location =JSON.parse(options.Location);
|
|
console.log(Location);
|
|
this.setData({Location});
|
|
}
|
|
ProjectsPagination.bind(this);
|
|
Location = await getLocation();
|
|
this.getProjects();
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
*/
|
|
onReady: function () {},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面显示
|
|
*/
|
|
onShow: function () {},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面隐藏
|
|
*/
|
|
onHide: function () {},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面卸载
|
|
*/
|
|
onUnload: function () {
|
|
ProjectsPagination.clean();
|
|
},
|
|
|
|
/**
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
*/
|
|
onPullDownRefresh: function () {
|
|
ProjectsPagination.clean();
|
|
this.getProjects();
|
|
},
|
|
|
|
/**
|
|
* 页面上拉触底事件的处理函数
|
|
*/
|
|
onReachBottom: function () {
|
|
this.getProjects();
|
|
},
|
|
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
onShareAppMessage: function () {},
|
|
switchPageTabs({ detail: { name } }) {
|
|
this.setData({
|
|
currentShowPageTab: name,
|
|
});
|
|
ProjectsPagination.clean();
|
|
this.getProjects();
|
|
},
|
|
timeSort({currentTarget:{dataset:{val}}}){
|
|
let {timeStyle} = this.data;
|
|
if(val===true){
|
|
timeStyle = timeStyle ==2?3:2;
|
|
}else{
|
|
timeStyle = timeStyle==0?1:0;
|
|
}
|
|
this.setData({timeStyle});
|
|
ProjectsPagination.clean();
|
|
this.getProjects();
|
|
},
|
|
getProjects() {
|
|
if (ProjectsPagination.loading || ProjectsPagination.finished) {
|
|
return;
|
|
}
|
|
ProjectsPagination.loading = true;
|
|
let url = GetUnUseProjectUrl;
|
|
let point = App.qqMapTransBMap(parseFloat(Location.point.lng), parseFloat(Location.point.lat));
|
|
let data = {
|
|
page: ProjectsPagination.loadPage,
|
|
lat: point.lat,
|
|
lng: point.lng,
|
|
};
|
|
let loct = this.data.Location;
|
|
if(Object.keys(loct).length>0){
|
|
data.lat = loct.latitude;
|
|
data.lng = loct.longitude;
|
|
this.setData({addressValue:loct.message});
|
|
console.log(this.data.Location,9898);
|
|
}else{
|
|
this.setData({addressValue:Location.address});
|
|
}
|
|
if (this.data.currentShowPageTab === "1") {
|
|
url = GetUsedProjectUrl;
|
|
}else{
|
|
data.orderby = this.data.timeStyle;
|
|
}
|
|
wx.showLoading();
|
|
App._getNetWork({
|
|
url,
|
|
data,
|
|
success: ({ data: { data: response, result, msg } }) => {
|
|
ProjectsPagination.loading = false;
|
|
wx.stopPullDownRefresh();
|
|
wx.hideLoading();
|
|
if (result == 0) {
|
|
wx.showToast({
|
|
title: msg,
|
|
icon: "none",
|
|
});
|
|
return;
|
|
}
|
|
if (response.current_page == response.last_page || response.data.length < response.per_page) {
|
|
ProjectsPagination.finished = true;
|
|
}
|
|
ProjectsPagination.push(response.data);
|
|
this.setData({
|
|
projectCount: ProjectsPagination.length,
|
|
});
|
|
},
|
|
});
|
|
},
|
|
|
|
tapBtnGive (event) {
|
|
let obj = event.currentTarget.dataset.item;
|
|
this.setData({
|
|
showGivePop: true,
|
|
giveInfo: obj
|
|
});
|
|
},
|
|
// 关闭弹框
|
|
closeGivePop () {
|
|
this.setData({
|
|
showGivePop: false,
|
|
});
|
|
},
|
|
// 确定赠送
|
|
giveProject () {
|
|
if (!this.data.giveUserId) {
|
|
this.setData({
|
|
errorFlag:true,
|
|
errorMsg:'请输入用户'
|
|
});
|
|
return;
|
|
}
|
|
if(this.data.errorFlag){
|
|
this.setData({errorMsg:'查无此用户',errorFlag:true});
|
|
return;
|
|
}
|
|
|
|
if (!this.data.giveNum) {
|
|
this.setData({
|
|
errorNum:'转增次数不能为空'
|
|
});
|
|
return;
|
|
}
|
|
if (this.data.giveInfo.rest_count < this.data.giveNum) {
|
|
this.setData({
|
|
errorNum:'输入转赠次数大于拥有的次数'
|
|
});
|
|
return;
|
|
}
|
|
|
|
let urlStr = App.getNetAddresss("plugin.store-projects.frontend.project-order.transfer");
|
|
App._getNetWork({
|
|
url:urlStr,
|
|
data: {id: this.data.giveInfo.id,
|
|
transfer_uid: this.data.giveUserId,
|
|
transfer_count: this.data.giveNum},
|
|
success: (resdata) => {
|
|
let res = resdata.data;
|
|
console.log(res.msg);
|
|
App.tips(res.msg);
|
|
if(res.result == 1){
|
|
this.closeGivePop();
|
|
ProjectsPagination.clean();
|
|
this.getProjects();
|
|
}
|
|
|
|
}
|
|
});
|
|
},
|
|
|
|
throttleFn(evt){
|
|
let uid = evt.detail;
|
|
this.data.giveUserId = uid;
|
|
this.data.errorFlag = true;
|
|
if (this.timeoutId) {
|
|
clearTimeout(this.timeoutId);
|
|
}
|
|
this.timeoutId = setTimeout(()=> {
|
|
this.searchUser(uid);
|
|
}, 1000);
|
|
},
|
|
searchUser(uid){
|
|
let urlStr = App.getNetAddresss("member.member.memberInfo");
|
|
console.log(urlStr);
|
|
App._getNetWork({
|
|
url:urlStr,
|
|
data: {uid},
|
|
success: (resdata) => {
|
|
let res = resdata.data;
|
|
if(res.result == 1 && res.data !=null){
|
|
this.setData({
|
|
nickname:res.data.nickname,errorFlag:false,giveUserId:uid
|
|
});
|
|
}else {
|
|
this.setData({errorFlag:true,errorMsg:'查无此用户'});
|
|
}
|
|
|
|
},
|
|
fail:()=>{
|
|
this.setData({giveUserId:'',errorFlag:true,errorMsg:'查无此用户'});
|
|
}
|
|
});
|
|
},
|
|
changeNumInput (event) {
|
|
console.log(event);
|
|
let num = this.data.giveNum;
|
|
let errorNum = '';
|
|
if (num<=0) {
|
|
errorNum = "转增次数不能为空";
|
|
}else if (this.data.giveInfo.rest_count < num) {
|
|
errorNum = "输入转赠次数大于拥有的次数";
|
|
}
|
|
this.setData({errorNum});
|
|
},
|
|
|
|
|
|
|
|
|
|
});
|