485 lines
12 KiB
JavaScript
485 lines
12 KiB
JavaScript
// packageC/selfCarry/selfCarry_info/selfCarry_info.js
|
||
var app = getApp();
|
||
var location = require("../../../mybehaviors/location/location");
|
||
|
||
|
||
Page({
|
||
behaviors: [location],
|
||
|
||
/**
|
||
* 页面的初始数据
|
||
*/
|
||
data: {
|
||
show: false,
|
||
point: {
|
||
lat: "",
|
||
lng: "",
|
||
},
|
||
kwd: "",
|
||
city: "",
|
||
info: [],
|
||
detailinfo: {},
|
||
openDateLw: false,
|
||
provinceData: [],
|
||
cityData: [],
|
||
districtData: [],
|
||
pickerValue: [0, 0, 0],
|
||
selectAddressData: [],
|
||
goodsId: "",
|
||
optionsId: "",
|
||
cart_ids: "",
|
||
tag: "",
|
||
total: "",
|
||
// more
|
||
page: 1, // 分页数,当前页数
|
||
isLoadMore: true, // 判断是否要加载更多的标志
|
||
total_page: 0, // 总页数
|
||
iscloud: "",
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面加载
|
||
*/
|
||
onLoad: function (options) {
|
||
if (options.iscloud) {
|
||
this.setData({
|
||
iscloud: options.iscloud,
|
||
});
|
||
}
|
||
if (options.ind) {
|
||
this.setData({
|
||
ind: options.ind,
|
||
});
|
||
}
|
||
this.setData({
|
||
goodsId: options.goodsId,
|
||
optionsId: options.optionsId,
|
||
tag: options.tag,
|
||
total: options.total,
|
||
cart_ids: options.cart_ids,
|
||
level_id: options.level_id,
|
||
option_level_id: options.option_level_id,
|
||
team_id:options.team_id
|
||
});
|
||
this._getLocation(() => {this.getList();});
|
||
//加载地址数据初始化
|
||
this._initAddressInfo();
|
||
},
|
||
/**
|
||
* 生命周期函数--监听页面初次渲染完成
|
||
*/
|
||
onReady: function () {},
|
||
/**
|
||
* 生命周期函数--监听页面显示
|
||
*/
|
||
onShow: function () {},
|
||
/**
|
||
* 生命周期函数--监听页面隐藏
|
||
*/
|
||
onHide: function () {},
|
||
/**
|
||
* 生命周期函数--监听页面卸载
|
||
*/
|
||
onUnload: function () {},
|
||
/**
|
||
* 页面相关事件处理函数--监听用户下拉动作
|
||
*/
|
||
onPullDownRefresh: function () {},
|
||
/**
|
||
* 页面上拉触底事件的处理函数
|
||
*/
|
||
onReachBottom: function () {
|
||
if (this.data.isLoadMore) {
|
||
this.getMoreData();
|
||
} else {
|
||
wx.showToast({
|
||
title: "没有更多数据",
|
||
icon: "none",
|
||
});
|
||
}
|
||
},
|
||
|
||
/**
|
||
* 用户点击右上角分享
|
||
*/
|
||
onShareAppMessage: function () {},
|
||
callPhone(e) {
|
||
let detailinfo = e.currentTarget.dataset.phone;
|
||
wx.makePhoneCall({
|
||
phoneNumber: detailinfo,
|
||
});
|
||
},
|
||
showDetail(e) {
|
||
let detailinfo = e.currentTarget.dataset.v;
|
||
this.setData({
|
||
show: true,
|
||
detailinfo,
|
||
});
|
||
},
|
||
onClose() {
|
||
this.setData({
|
||
show: false,
|
||
detailinfo: {},
|
||
});
|
||
},
|
||
|
||
getList() {
|
||
let that = this;
|
||
let urlStr = app.getNetAddresss(
|
||
"plugin.package-deliver.frontend.deliver.getList"
|
||
);
|
||
|
||
if(this.options.store_id){
|
||
urlStr = app.getNetAddresss("plugin.package-deliver.frontend.store.deliver.getList");
|
||
}
|
||
let point = app.qqMapTransBMap(
|
||
parseFloat(that.data.point.lng),
|
||
parseFloat(that.data.point.lat)
|
||
);
|
||
app._getNetWork({
|
||
url: urlStr,
|
||
data: {
|
||
city_name: that.data.city,
|
||
lat: point.lat,
|
||
lng: point.lng,
|
||
kwd: that.data.kwd,
|
||
goods: that.options.goods || [],
|
||
store_id: this.options.store_id || ''
|
||
},
|
||
success: (resdata)=> {
|
||
var res = resdata.data;
|
||
if (res.result == 1) {
|
||
that.setData({
|
||
info: res.data.list.data,
|
||
total_page: res.data.list.last_page,
|
||
isLoadMore: true,
|
||
page: res.data.list.current_page,
|
||
});
|
||
if (!that.data.total_page) {
|
||
that.setData({
|
||
total_page: 0,
|
||
});
|
||
}
|
||
} else {
|
||
wx.showToast({
|
||
icon: "none",
|
||
title: "获取自提点失败",
|
||
duration: 1000,
|
||
});
|
||
}
|
||
},
|
||
fail: function (res) {
|
||
console.log(res);
|
||
},
|
||
});
|
||
},
|
||
getMoreData() {
|
||
let that = this;
|
||
this.setData({
|
||
isLoadMore: false,
|
||
});
|
||
if (this.data.page >= this.data.total_page) {
|
||
return;
|
||
} else {
|
||
let pages = this.data.page;
|
||
pages += 1;
|
||
this.setData({
|
||
page: pages,
|
||
});
|
||
let point = app.qqMapTransBMap(
|
||
parseFloat(that.data.point.lng),
|
||
parseFloat(that.data.point.lat)
|
||
);
|
||
let urlStr = app.getNetAddresss(
|
||
"plugin.package-deliver.frontend.deliver.getList"
|
||
);
|
||
if(this.options.store_id){
|
||
urlStr = app.getNetAddresss("plugin.package-deliver.frontend.store.deliver.getList");
|
||
}
|
||
app._getNetWork({
|
||
url: urlStr,
|
||
data: {
|
||
city_name: that.data.city,
|
||
lat: point.lat,
|
||
lng: point.lng,
|
||
kwd: that.data.kwd,
|
||
page: that.data.page,
|
||
goods: that.options.goods || [],
|
||
store_id: this.options.store_id || ''
|
||
},
|
||
success: (resdata)=> {
|
||
var res = resdata.data;
|
||
if (res.result == 1) {
|
||
var nextPageData = res.data.list.data;
|
||
let info = [...that.data.info, ...nextPageData];
|
||
that.setData({
|
||
info,
|
||
total_page: res.data.list.last_page,
|
||
});
|
||
}
|
||
},
|
||
fail: function (res) {
|
||
console.log(res.msg);
|
||
},
|
||
});
|
||
}
|
||
},
|
||
//打开地址选择器
|
||
openDateLwtbtn: function () {
|
||
this.setData({
|
||
openDateLw: true,
|
||
});
|
||
},
|
||
//地址选择器数据初始化
|
||
_initAddressInfo: function () {
|
||
var that = this;
|
||
var _keyName = "provinceData";
|
||
wx.getStorage({
|
||
key: _keyName,
|
||
success: function (res) {
|
||
console.log("地址信息准备就绪");
|
||
that._getProvinceData();
|
||
},
|
||
fail: function (res) {
|
||
console.log("省fail");
|
||
app._getNetWork({
|
||
url: app.getNetAddresss("member.member-address.address"),
|
||
success: function (res) {
|
||
var response = res.data;
|
||
var province = response.data.province;
|
||
var city = response.data.city;
|
||
var district = response.data.district;
|
||
wx.setStorage({
|
||
key: "provinceData",
|
||
data: province,
|
||
});
|
||
wx.setStorage({
|
||
key: "cityData",
|
||
data: city,
|
||
});
|
||
wx.setStorage({
|
||
key: "districtData",
|
||
data: district,
|
||
});
|
||
that._initAddressInfo();
|
||
},
|
||
fail: function (res) {},
|
||
state: true,
|
||
});
|
||
},
|
||
});
|
||
},
|
||
// 读取省key
|
||
_getProvinceData: function () {
|
||
var that = this;
|
||
var _keyName = "provinceData";
|
||
wx.getStorage({
|
||
key: _keyName,
|
||
success: function (res) {
|
||
console.log("省读取成功", res.data);
|
||
that.setData({
|
||
provinceData: res.data,
|
||
});
|
||
that.setData({
|
||
"selectAddressData[0].name":
|
||
res.data[that.data.pickerValue[0]].areaname,
|
||
"selectAddressData[0].id": res.data[that.data.pickerValue[0]].id,
|
||
"selectAddressData[0].index": that.data.pickerValue[0],
|
||
});
|
||
that._getCityData();
|
||
},
|
||
});
|
||
},
|
||
// 读取城市key,筛选城市data
|
||
_getCityData: function () {
|
||
var _data = this.data.selectAddressData[0];
|
||
console.log("城市", "_data", _data);
|
||
var that = this;
|
||
var _keyName = "cityData";
|
||
wx.getStorage({
|
||
key: _keyName,
|
||
success: function (res) {
|
||
console.log("城市读取成功", res);
|
||
|
||
var _json = [];
|
||
for (var i = 0; i < res.data.length; i++) {
|
||
if (res.data[i].parentid == _data.id) {
|
||
_json.push(res.data[i]);
|
||
}
|
||
}
|
||
console.log("城市数据筛选", _json);
|
||
that.setData({
|
||
cityData: _json,
|
||
});
|
||
that.setData({
|
||
"selectAddressData[1].name": _json[that.data.pickerValue[1]].areaname,
|
||
"selectAddressData[1].id": _json[that.data.pickerValue[1]].id,
|
||
"selectAddressData[1].index": that.data.pickerValue[1],
|
||
});
|
||
that._getDistrictData();
|
||
},
|
||
});
|
||
},
|
||
// 读取地区key,筛选地区data
|
||
_getDistrictData: function () {
|
||
var _data = this.data.selectAddressData[1];
|
||
console.log("地区", "_data", _data);
|
||
console.log(_data);
|
||
var that = this;
|
||
var _keyName = "districtData";
|
||
wx.getStorage({
|
||
key: _keyName,
|
||
success: function (res) {
|
||
console.log("地区读取成功");
|
||
var _json = [];
|
||
for (var i = 0; i < res.data.length; i++) {
|
||
if (res.data[i].parentid == _data.id) {
|
||
_json.push(res.data[i]);
|
||
}
|
||
}
|
||
console.log("地区数据筛选", _json);
|
||
that.setData({
|
||
districtData: _json,
|
||
});
|
||
console.log("districtData", _json);
|
||
that.setData({
|
||
"selectAddressData[2].name": _json[that.data.pickerValue[2]].areaname,
|
||
"selectAddressData[2].id": _json[that.data.pickerValue[2]].id,
|
||
"selectAddressData[2].index": that.data.pickerValue[2],
|
||
});
|
||
console.log("over", that.data.selectAddressData);
|
||
},
|
||
});
|
||
},
|
||
// 收货地址滚动事件
|
||
bindChange: function (e) {
|
||
var val = e.detail.value;
|
||
if (this.data.pickerValue[0] != val[0]) {
|
||
val[1] = 0;
|
||
val[2] = 0;
|
||
}
|
||
if (this.data.pickerValue[1] != val[1]) {
|
||
val[2] = 0;
|
||
}
|
||
this.setData({
|
||
"pickerValue[0]": val[0],
|
||
"pickerValue[1]": val[1],
|
||
"pickerValue[2]": val[2],
|
||
});
|
||
this._initAddressInfo();
|
||
},
|
||
// 确定选择收货地址
|
||
_okAddress: function () {
|
||
let seleData = this.data.selectAddressData;
|
||
this.setData({
|
||
city: seleData[1].name,
|
||
});
|
||
this.getList();
|
||
this._closeDateLw();
|
||
},
|
||
// 关闭选择收货地址
|
||
_closeDateLw: function () {
|
||
this.setData({
|
||
openDateLw: false,
|
||
});
|
||
},
|
||
tosearch(e) {
|
||
let searchValue = e.detail.value;
|
||
this.setData({
|
||
kwd: searchValue,
|
||
});
|
||
this.getList();
|
||
},
|
||
gotoOrder() {
|
||
let that = this;
|
||
this.getNowPackageDeliver(this.data.detailinfo.id);
|
||
let json = {
|
||
deliver_name: that.data.detailinfo.deliver_name,
|
||
deliver_mobile: that.data.detailinfo.deliver_mobile,
|
||
full_address: that.data.detailinfo.full_address,
|
||
id: that.data.detailinfo.id,
|
||
};
|
||
let changeSelfCarry = JSON.stringify(json);
|
||
|
||
let url = "/packageD/buy/myOrder_v2/myOrder_v2?from=1&tag=" +
|
||
that.data.tag +
|
||
"&goodsId=" +
|
||
that.data.goodsId +
|
||
"&optionsId=" +
|
||
that.data.optionsId +
|
||
"&cart_ids=" +
|
||
that.data.cart_ids +
|
||
"&total=" +
|
||
that.data.total +
|
||
"&changeSelfCarry=" +
|
||
changeSelfCarry;
|
||
|
||
if(that.data.level_id) {
|
||
url= url+ "&level_id=" + that.data.level_id + "&option_level_id=" + that.data.option_level_id;
|
||
}
|
||
|
||
if(that.data.team_id) {
|
||
url= url+ "&team_id=" + that.data.team_id + "&option_level_id=" + that.data.option_level_id;
|
||
}
|
||
|
||
if(that.options.goodCollection) {
|
||
url= url+ "&goodCollection=" + that.options.goodCollection;
|
||
}
|
||
|
||
if(this.data.ind) {
|
||
url= url+ "&ind=" + this.data.ind;
|
||
}
|
||
if(this.options.store_id) {
|
||
url= url+ "&store_id=" + this.options.store_id;
|
||
}
|
||
|
||
if (app._isTextEmpty(this.data.iscloud)) {
|
||
wx.redirectTo({
|
||
url: url
|
||
});
|
||
} else {
|
||
wx.redirectTo({
|
||
url:
|
||
"/packageE/others/cloudwarehouse/cloudOrder/cloudOrder?from=1&tag=" +
|
||
that.data.tag +
|
||
"&goodsId=" +
|
||
that.data.goodsId +
|
||
"&optionsId=" +
|
||
that.data.optionsId +
|
||
"&total=" +
|
||
that.data.total +
|
||
"&changeSelfCarry=" +
|
||
changeSelfCarry +
|
||
"&is_selected=8"
|
||
});
|
||
}
|
||
},
|
||
getNowPackageDeliver(_id){
|
||
//更新自提点供应商的关联id
|
||
let urlStr = app.getNetAddresss('plugin.package-deliver.frontend.decorate-deliver.getNowPackageDeliver');
|
||
app._postNetWork({
|
||
url: urlStr,
|
||
data: {deliver_id: _id},
|
||
success: (resdata) => {
|
||
let res = resdata.data;
|
||
if (res.result == 1) {
|
||
let deliverIDStorage = wx.getStorageSync('deliverId')||null;
|
||
if (deliverIDStorage) {
|
||
//有记录才去更新sessionStorage(说明一开始进入的),不然影响到分享链接上参数
|
||
wx.setStorageSync("deliverId", res.data.id);
|
||
}
|
||
} else {
|
||
wx.showToast({
|
||
title: res.msg,
|
||
duration: 1000,
|
||
icon: 'none'
|
||
});
|
||
}
|
||
},
|
||
fail: function (res) {
|
||
console.log(res.msg);
|
||
}
|
||
});
|
||
}
|
||
});
|