yuminge-app/yun-min-program-plugin-master/packageH/project_verification/MyProject/MyProject.js

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});
},
});