yuminge-app/yun-min-program-plugin-master/packageD/member/addressAdd_v2/addressAdd_v2.js

451 lines
11 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/member/addressAdd_v2/addressAdd_v2.js
var app = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
isShowStreet: false,
form: {
username: "",
mobile: "",
province: "",
city: "",
district: "",
streetName: "",
address: "",
isDefault: false,
},
addressName: "",
openDateLw: false,
provinceData: [],
cityData: [],
districtData: [],
pickerValue: [0, 0, 0],
selectAddressData: [],
districtVal: [],
opren: true,
acr: true,
is_region: 0,
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
//加载地址数据初始化
this._initAddressInfo();
this.getIsOpenAddress();
},
streetClose(e) {
this.setData({
streetShow: false,
opren: true,
});
},
onTransitionEnd(e) {
console.log(e);
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {},
getIsOpenAddress() {
var that = this;
let urlStr = app.getNetAddresss("member.member-address.is-region");
app._getNetWork({
url: urlStr,
success: function (resdata) {
var res = resdata.data;
if (res.result == 1 && !app._isTextEmpty(res.data)) {
that.setData({
is_region: res.data.is_region,
});
} else {
console.log(res.msg);
}
},
fail: function (res) {
console.log(res);
},
});
},
//获取街道
_getStreet(param) {
var that = this;
let urlStr = app.getNetAddresss("member.memberAddress.street");
urlStr += "&district_id=" + param;
app._getNetWork({
url: urlStr,
success: function (resdata) {
var res = resdata.data;
if (res.result == 1 && !app._isTextEmpty(res.data)) {
if (!app._isTextEmpty(res.data) && res.data.length > 0) {
that.setData({
districtVal: res.data,
isShowStreet: true,
});
} else {
that.setData({
isShowStreet: false,
});
}
} else {
that.setData({
isShowStreet: false,
});
}
},
fail: function (res) {
console.log(res);
},
});
},
//默认地址开关值绑定
isDefaultChange: function (e) {
let isDefault = e.detail;
this.setData({
"form.isDefault": isDefault,
});
},
//收件人输入绑定
usernameinp: function (e) {
let nameval = e.detail.value;
this.setData({
"form.username": nameval,
});
},
//联系电话输入绑定
mobileinp: function (e) {
let mobileval = e.detail.value;
this.setData({
"form.mobile": mobileval,
});
},
//详细地址绑定输入
addressinp: function (e) {
let addressval = e.detail.value;
console.log(addressval);
this.setData({
"form.address": addressval,
});
},
// 关闭选择收货地址
_closeDateLw: function () {
this.setData({
openDateLw: false,
});
},
//地址选择器数据初始化
_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);
},
});
},
//打开地址选择器
openDateLwtbtn: function () {
this.setData({
openDateLw: true,
});
},
// 收货地址滚动事件
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({
"form.streetName": "",
districtVal: "",
addressName:
seleData[0].name + " " + seleData[1].name + " " + seleData[2].name,
"form.province": seleData[0].name,
"form.city": seleData[1].name,
"form.district": seleData[2].name,
});
this._getStreet(seleData[2].id);
this._closeDateLw();
},
streetChoose() {
if (this.data.is_region == 1 && app._isTextEmpty(this.data.addressName)) {
wx.showToast({
icon: "none",
title: "请先选择所在地区",
duration: 1500,
});
} else {
this.setData({
streetShow: true,
opren: false,
});
}
},
//选择街道
streetConfirm(e) {
let strname = e.target.dataset.strname;
this.setData({
"form.streetName": strname,
streetShow: false,
});
},
appendAddress() {
let urlStr = "";
if (app._isTextEmpty(this.data.form.username)) {
wx.showToast({
icon: "none",
title: "请输入收货人姓名",
duration: 1500,
});
return;
}
if (app._isTextEmpty(this.data.form.mobile)) {
wx.showToast({
icon: "none",
title: "请输入手机机号",
duration: 1500,
});
return;
}
if (app._isMoblie(this.data.form.mobile)) {
wx.showToast({
icon: "none",
title: "请输入正确的手机号",
duration: 1500,
});
return;
}
if (this.data.is_region == 1 && app._isTextEmpty(this.data.addressName)) {
wx.showToast({
icon: "none",
title: "请选择所在区域",
duration: 1500,
});
return;
}
if (
this.data.is_region == 1 &&
this.data.isShowStreet &&
app._isTextEmpty(this.data.form.streetName)
) {
wx.showToast({
icon: "none",
title: "请选择所在街道",
duration: 1500,
});
return;
}
if (app._isTextEmpty(this.data.form.address)) {
wx.showToast({
icon: "none",
title: "请输入详细地址",
duration: 1500,
});
return;
}
let json = {};
json = {
address_id: this.data.form.address_id,
username: this.data.form.username,
mobile: this.data.form.mobile,
city: this.data.form.city,
address: this.data.form.address,
province: this.data.form.province,
isdefault: this.data.form.isDefault ? 1 : 0,
district: this.data.form.district,
street: this.data.form.streetName,
};
urlStr = app.getNetAddresss("member.member-address.store");
app._postNetWork({
url: urlStr,
showToastIn: false,
data: json,
success: function (resdata) {
var res = resdata.data;
if (res.result == 1) {
wx.showToast({
title: res.msg,
icon: "none",
duration: 1500,
success: function () {
setTimeout(function () {
//要延时执行的代码
wx.navigateBack({
delta: 1,
});
}, 1500); //延迟时间
},
});
} else {
wx.showToast({
icon: "none",
title: res.msg,
duration: 1500,
});
}
},
fail: function (res) {},
});
},
});